2014-10-02 71 views
0

我已经试过大部分常用选项(打印(figr,“-depsc”,“cross_corr.eps”);)保存MATLAB数字作为EPS/PDF但每次我这样做时,数字内容都被保存了一部分,可能有四分之一被丢失。 我分享了这里的数字:http://ge.tt/2ZrsdD02/v/0?cMatlab的数字内容丢失

使用选项,例如完全以下保存,但我更喜欢它存下来直接INTI EPS/PDF:

print(figr, '-dpng', 'cross_corr.png'); 
+0

究竟是什么迷路?我无法复制。无论如何,你可以尝试几件事:在打印之前设置(gcf,'PaperPositionMode','auto')'。在matlab文件交换中,有一个名为'export_fig'的函数,在保存图形内容方面我有很好的运气,您可能也会觉得它很有用。 – KevinMc 2014-10-02 06:58:20

+0

不幸的是,这并没有太大的帮助。请查看我的“答案”,以便知道丢失的是什么。 – Martin 2014-10-02 11:33:12

回答

1

的问题似乎是,你有该图的'PaperPosition'属性中的非常小的值。试戴更改为默认的,

set(figr, 'PaperPosition', [0.634517 6.34517 20.3046 15.2284]) 

,然后应用你的print(figr, '-depsc', 'cross_corr.eps')

我附上结果我的电脑上没有与'PaperPosition'校正(使用GSView程序与边框显示):

enter image description here

enter image description here

另外,考虑减少字体大小,以避免重叠的文字:

set(findobj('type','text'), 'Fontsize', 5) 

enter image description here

+0

谢谢,但质量似乎并不确定。请参阅下面的答案。 – Martin 2014-10-02 11:32:44

+0

质量非常好,因为它是一个矢量文件(eps)。不要被上述数字误导;他们只是屏幕截图 – 2014-10-02 13:27:03

0

如果我第一次放大人物的大小(通过使用右上角中间的按钮),然后将其保存为EPS,我得到这个:http://ge.tt/1Pv8YE02/v/0

相比,所有其他选项的质量是非常好的内容也可以。

它不可能通过脚本自动化它... ...

+0

从一开始就让你的数字变大:'scrsz = get(0,'ScreenSize'); fig_handle = figure('Position',[0 0 scrsz(3),scrsz(4)]);' – KevinMc 2014-10-02 16:39:51