метки на графике imagesc: почему они дублируются? - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь создать помеченный график, используя 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 голосов
/ 07 сентября 2018

Видимо, по умолчанию количество тиков на графиках равно 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.

...