我正在绘制 9 个子图,如下图所示,其中一个颜色条代表三个子图。
在这里我想将颜色条中的最高值显示为> value
,令人惊讶的是,当我手动将刻度标签编辑为h.TickLabels{end} = ['>' h.TickLabels{end}];
颜色条开始重复该值。
当我删除时h.TickLabels{end} = ['>' h.TickLabels{end}];
颜色条显示没有问题。当我改变图形尺寸时set(gcf, 'PaperUnits', 'inches', 'PaperPosition', [0 0 8 8])
as [0 0 5 5]
颜色条标签再次发生变化。
如何解决这个错误?
以下是我的工作示例和输出图像:
data = [1 2 3; 5 7 3; 12 29 14; 1 7 3; 2 8 3; 5 4 1; 2 2 1; 2 3 1; 1 5 2];
for i=1:9
subplot(3, 3, i)
plot(data(i,:));
if ismember(i, [1:3])
caxis([0 20])
if i==3
h = colorbar('Fontsize', 6, 'LineWidth', 0.15, 'TickDirection', 'out',...
'TickLength', 0.02);
set(h, 'Position', [.935 .6867 .01 .2533])
h.TickLabels{end} = ['>' h.TickLabels{end}];
end
end
if ismember(i, [4:6])
caxis([0 6])
if i==6
h = colorbar('Fontsize', 6, 'LineWidth', 0.15, 'TickDirection', 'out',...
'TickLength', 0.02);
set(h, 'Position', [.935 .3733 .01 .2533])
h.TickLabels{end} = ['>' h.TickLabels{end}];
end
end
if ismember(i, [7:9])
caxis([0 4])
if i==9
h = colorbar('Fontsize',6, 'LineWidth', 0.15, 'TickDirection', 'out',...
'TickLength', 0.02);
set(h, 'Position', [.936 .06 .01 .2533])
h.TickLabels{end} = ['>' h.TickLabels{end}];
end
end
end
set(gcf, 'PaperUnits', 'inches', 'PaperPosition', [0 0 8 8])
print('test', '-djpeg', '-r300')
close all