imagesc图上的标签:为什么它们重复?

时间:2018-09-07 11:18:39

标签: matlab plot matlab-figure

我尝试使用imagesc进行标记,并在刻度轴上标记标签,但是得到的标签数量是所需数量的两倍。我做错了什么?我同时尝试了R2009B和R2017A。

output from my code

下面是我的代码:

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);

1 个答案:

答案 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);

enter image description here

指定少于11个标签名称时,MATLAB会从第一个开始再次开始,直到放置了11个标签为止,而当您提供​​11个以上的标签名称时,MATLAB将忽略位置11以外的标签。