我在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图形尺寸不大。它有一个,因为它是专为打印机设计的,它可以精确指定打印尺寸。
感谢您的帮助。
答案 0 :(得分:0)
set()行为都会发生变化。
我在Mac上,因此无法保存EMF文件,但由于您保存了fig
,请使用set()
而不是fig
尝试gcf
第一个论点。
gcf
获取当前数字所以如果你在屏幕上有多个数字,你应该注意。虽然通过保存数字手柄,但没有什么可担心的。