我尝试使用imagesc
制作带标签的绘图,在刻度轴上有标签,但我得到的标签数量是所需数量的两倍。我做错了什么?我试过了R2009B和R2017A。
以下是我的代码:
test_data = rand(5,5);
[RHO,PVAL_spearman] = corr(test_data,'Type','Spearman');
figure;
imagesc(RHO);
labelNames = {'item1','item2','item3','item4','item5'};
set(gca,'XTickLabel',labelNames);
set(gca,'YTickLabel',labelNames);
显然,图上的默认滴答数为11,因此您只需使用set(gca,'XTick',N)
属性更改滴答数量:
N = 5;
test_data = rand(N);
[RHO,PVAL_spearman] = corr(test_data,'Type','Spearman');
figure;
imagesc(RHO);
labelNames = {'item1','item2','item3','item4','item5'};
set(gca,'XTick',1:N);
set(gca,'YTick',1:N);
set(gca,'XTickLabel',labelNames);
set(gca,'YTickLabel',labelNames);
当指定少于11个标签名称时,MATLAB会在第一个标签名称处再次启动,直到它放置了11个标签,当您提供的标签超过11个时,MATLAB将忽略11个以外的标签。