这是一个非常直观的代码,用于使用imagesc
命令以缩放颜色显示矩阵。问题是最终的数字标签错误,并没有显示标签的下半部分(应该是1到21,但是从1到10)
figure;
imagesc(magic(21));
set(gca,'XTickLabel',{'1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21'})
set(gca,'YTickLabel',{'1' '2' '3' '4' '5' '6' '7' '8' '9' '10' '11' '12' '13' '14' '15' '16' '17' '18' '19' '20' '21'})
我正在使用Ubuntu 16.04和Matlab 2016b。
答案 0 :(得分:7)
您设置标签文本,但不设置位置,因此它会自动放置标签位置,然后替换其文本。
要设置标签的位置,请先执行以下操作:
set(gca,'XTick',...)
然后,无论你做什么,你都可以写下这些标签:
set(gca,'XTickLabel',{'banana', 'platano', 'potato',... })
答案 1 :(得分:3)
您必须为这些刻度分配位置,而不仅仅是添加标签。
figure;
imagesc(magic(21));
ax1 = gca;
ax1.YTick = 1:21;
ax1.XTick = 1:21;
ax1.XTickLabels = {'One','Two','Three',...
ax1.YTickLabels = {'Red','Brown','Green',...
此外,自Matlab 2014b Mathworks创建了一个新的图形系统。您可以直接将图形作为对象访问,而不是在任何地方使用set
和get
。
答案 2 :(得分:1)
imagesc(magic(21));
set(gca,'XLim',[1 21])
set(gca,'XTick',[1:1:21])
set(gca,'XTickLabel',{'1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21'})
set(gca,'YLim',[1 21])
set(gca,'YTick',[1:1:21])
set(gca,'YTickLabel',{'1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21'})