2012-08-28 54 views
34

MATLAB中有一個命令可以自動保存FIGJPEG或兩種格式的數字嗎?如何通過命令行在MATLAB中保存圖形?

+0

其實這是我的陰謀 圖(X,Y,「 - BS」,「線寬',1.4,'Markersize',10)... 保存所有 plot(Qx,Qy,' - 。r *','Markersize',8) title('Curve of the protein strand','FontSize' ,14); ('P Points(Input)','Q points(Output)','Location','North'); 我想自動保存它而不等待劇情出現! 但它似乎是不可能的,因爲我不能在同一圖中定義的多曲線的變化..很多 –

+0

可能重複:http://stackoverflow.com/search?q=%5Bmatlab%5D+save +圖 –

回答

2

我不認爲你可以保存它沒有它出現,但只是保存在多種格式使用打印命令。看到答案張貼在這裏:Save an imagesc output in Matlab

+0

我已經試過了,但是顯示這個錯誤 ???錯誤:文件:CurvePlotter.m行:3列:1 意外的MATLAB表達式。 這是因爲所有在我的陰謀裏面! –

+1

@Abdullah我很困惑,因爲你發佈了完全相同的評論,兩個答案。您是否使用_print_命令或使用_saveas_來獲取此錯誤?不管哪一個你得到的錯誤,我有這個代碼工作:'x = 1:100; y = rand(1,100); Qx = x; Qy = rand(1,100); plot(x,y,' - bs','Linewidth',1.4,'Markersize',10) 保留所有圖(Qx,Qy,' - 。r *','Markersize',8) title '蛋白質鏈的曲線','FontSize',14); ('P Points(Input)','Q points(Output)','Location','North'); print(gcf,'-djpeg99',num2str(1)); hold' – Malife

+0

這似乎很好:) –

61

使用saveas

h=figure; 
plot(x,y,'-bs','Linewidth',1.4,'Markersize',10); 
% ... 
saveas(h,name,'fig') 
saveas(h,name,'jpg') 

這樣,圖繪製,並自動保存到名爲.jpg'和 '.FIG'。您不需要等待劇情出現,並點擊菜單中的「另存爲」。如果您需要繪製/保存大量數字,該走的路。

如果你真的不想讓劇情出現(它必須加載無論如何,不​​能避免,否則還有什麼保存),你可以將其隱藏:

h=figure('visible','off') 
+0

我已經試過了,但是顯示這個錯誤?錯誤:文件:CurvePlotter.m行:3列:1意外的MATLAB表達式。這是因爲我的陰謀籠罩在內部! –

+0

以及該文件中第3行的內容是什麼? 你知道,「hold all」本身就是一個命令,不要用它作爲'hold all plot(Qx,Qy,' - 。r *','Markersize',8)'而是全部保留;劇情(...)'另外:[學會調試](http://www.mathworks.nl/help/techdoc/matlab_prog/f10-60570.html) –

-2

嘗試 圖(VAR); saveFigure('title'); 它將自動保存爲jpeg

+0

沒有任何類似的功能 –

+0

試試吧你會看到,是的,有一個,雖然'savefig'通過警告消息建議。 – Thom

+0

有一個......就像Thom說的那樣。但我需要糾正自己,你需要做save​​Figure('title.jpg');但我也看到了savefig [online](http://www.mathworks.com/help/matlab/ref/savefig.html#bt0w30o-1_1)... – cedyd

1

如果要將其保存爲.fig文件,hgsave是Matlab R2012a中的函數。 在更高版本中,savefig也可能起作用。

0

imwrite(A,filename)寫入圖像數據A到由文件名指定的文件,從延伸

0

這些天(2017年五月),MATLAB仍然從魯棒的方法遭受導出的數字,特別是在GNU/Linux的推斷所述文件格式系統在批量模式下輸出數字時。最好的辦法是使用擴展export_fig

剛剛從Github上下載源代碼,並使用它:

plot(cos(linspace(0, 7, 1000))); 
set(gcf, 'Position', [100 100 150 150]); 
export_fig test2.png