如何在matlab中打印反色条?

时间:2017-05-22 13:55:37

标签: matlab matlab-figure

我想要反转从Matlab保存为pdf的图形上的颜色条。我可以在屏幕上反转颜色条,但是当我将图形打印为pdf时,颜色条会再次向正常方向翻转。

最小例子:

figure(1)
colormap(parula(100))
c = colorbar('direction','reverse');
print(1,'-dpdf','graphs\test_colorbar.pdf',sprintf('-r%d',150))

使用export_fig没有帮助 - 当export_fig打印反转的颜色条时,它会翻转颜色图并反转标签顺序,如果刻度线在颜色条的中间值周围不对称,则无效。

显示翻转颜色条和标签的原因的最小示例无效:

tick_array = 0:0.3:1;

figure(1)
colormap(parula(100))
colorbar('direction','reverse','Ticks',tick_array)
export_fig('graphs\test_colorbar.pdf','-pdf')

tick_labels = strtrim(cellstr(num2str(flip(tick_array)')));

figure(2)
colormap(flipud(parula(100)))
colorbar('Ticks',tick_array,'Ticklabels',tick_labels)

export_fig保存的数字如图2所示(不正确)。

1 个答案:

答案 0 :(得分:4)

尝试反转地图本身,而不是控制其方向的参数:

figure(1)
c = parula(100);
colormap(flipud(c));
colorbar;
print(1,'-dpdf','graphs\test_colorbar.pdf',sprintf('-r%d',150))

我还建议export_fig在MATLAB中保存图像,尤其是出版质量数据