我尝试使用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);
答案 0 :(得分:1)
显然,图上的默认刻度数是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以外的标签。