2014-10-02 69 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