2012-04-01 85 views
1

當我繪製mygraph時,它的大小是[200 200 350 200](這是我想要的),但保存的圖形不是該分辨率,而是像1200X900。我可以知道我做錯了什麼嗎?謝謝!!Matlab將圖保存到特定大小?

mygraph = figure('Name', [fileNameNoExtension '_RandStat_Flip_Unknown.eps'], 'Color', 'white', 'Position', [200 200 350 200]); 
bar(matrixNoiseLe5(:,8), 'facecolor',[0.1 0.5 0.9]); 
set(gca,'FontSize',10); 
axis([0 1400 -0.05 0.05]); 
ylabel('\DeltaRS'); 
xlabel('Noise Index'); 
saveas(mygraph, [pathstr '\indexes_3E_15L_300_3000I_RandStat_Flip_Unknown.eps']); 
+1

[在紙張上打印精確尺寸的MATLAB圖]可能出現的重複問題(http://stackoverflow.com/questions/3600945/printing-a-matlab-plot-in-exact-dimensions-on-paper) – yuk 2012-04-01 22:28:25

+0

SAVEAS只是一個有用的包裝PRINT功能。看到上面重複的問題。圖的'PaperPositionMode'屬性是關鍵。 – yuk 2012-04-01 22:29:44

+0

謝謝你。我錯過了「set(gcf,'PaperPositionMode','auto')」。欣賞!! – Kevin 2012-04-02 12:47:41

回答

5

我用MATLAB的print功能節省了打印到文件。

Hidden away in the docs是本節:

印刷圖在屏幕尺寸本例打印的表面圖 與經內插的陰影。將當前圖形(gcf) 將PaperPositionMode設置爲自動可讓您調整圖形窗口的大小,並按照您在屏幕上看到的大小進行打印。有關-zbuffer-r200選項的信息 ,請參閱打印選項和 使用PostScript驅動程序打印插值着色。

surf(peaks) shading interp set(gcf,'PaperPositionMode','auto') print('-dpsc2','-zbuffer','-r200')

這將做你想做的。

+0

謝謝格里芬。其實「set(gcf,'PaperPositionMode','auto')」正是我錯過的。欣賞!! – Kevin 2012-04-02 12:47:08