MATLAB中的`imagesc`:纸张大小和`colorbar`

时间:2013-05-13 08:37:39

标签: matlab matlab-figure

我在MATLAB中使用imagescNxM矩阵显示为图像,其中暖色是值越高的颜色。使用以下命令:

f = imagesc(points, [0 1]);

显示矩阵points。然而,缺少一个显示颜色和值之间耦合的图例。我发现了命令:

colorbar
可以使用

来显示请求的图例。但是,使用以下代码行在PDF上打印图形时:

set(gcf, 'PaperUnits', 'centimeters')
set(gcf,'PaperSize',[12 8]) % Set the paper size to the figure size
print('-dpdf',figurePath)

我遇到两个问题:

  • 纸张尺寸未正确设置
  • PDF上未显示颜色条

如何解决这些问题?

提前致谢,

Eleanore。

2 个答案:

答案 0 :(得分:0)

我找到了一种使用export_fig脚本(https://sites.google.com/site/oliverwoodford/software/export_fig)的现有技术解决方案。

需要以下代码:

set(gcf, 'Color', 'w');                     % Change background color
set(gcf, 'Position', [100 100 700 500])     % Change figure dimensions
export_fig([figurePath '.pdf'])             % Export the figure

答案 1 :(得分:0)

我总是将我的数字导出到.eps,然后使用Ghostscript附带的epstopdf实用程序转换为包含在LaTeX文档中;这似乎解决了绝大多数问题。

另一种方法是使用export_fig脚本,但我发现你已经发现了。