将matlab图保存为特定大小的EMF文件

时间:2016-02-08 16:43:09

标签: matlab matlab-figure

我在Matlab 2014b和2015a中尝试了以下脚本,但EMF文件的大小并不令人满意:

fig = figure; bode(1/tf('s'));
set(fig,'PaperPositionMode','auto');
set(fig, 'Position', [0 0 400 300]);
print(fig,'test1','-dpng','-r0','-loose'); % here the result is a picture with 300 x 400 ->ok
print(fig,'test2','-dmeta','-r0','-loose'); % here the size is 215,19 x 286,69 -> not ok

我也尝试使用:

set(fig,'PaperUnits','points','PaperPosition',[0 0 400 300])

但它没有改变任何东西。如果使用'-loose',也没有区别。我的错误在哪里?

编辑:有人可以在Matlab 2015b或2013b中测试脚本吗?

备注:有人声称EMF图形尺寸不大。它有一个,因为它是专为打印机设计的,它可以精确指定打印尺寸。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

无论屏幕上是否有多个数字,

set()行为都会发生变化。

我在Mac上,因此无法保存EMF文件,但由于您保存了fig,请使用set()而不是fig尝试gcf第一个论点。

gcf 获取当前数字所以如果你在屏幕上有多个数字,你应该注意。虽然通过保存数字手柄,但没有什么可担心的。