web-dev-qa-db-ja.com

コマンドラインからMATLABにFigureを保存する方法は?

MATLABに FIG または JPEG または両方の形式で自動的にFigureを保存できるコマンドはありますか?

37
ABC-biophi

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')
64
Gunther Struyf

Saveas関数を使用する場合、解像度はFile-> Save As ...を使用して手動でFigureを保存する場合ほど良くありません。代わりに、 hgexport を使用することをお勧めします。

hgexport(gcf, 'figure1.jpg', hgexport('factorystyle'), 'Format', 'jpeg');

これは、図を手動で保存するのとまったく同じです。

ソース: http://www.mathworks.com/support/solutions/en/data/1-1PT49C/index.html?product=SL&solution=1-1PT49C

22
Avico

表示せずに保存できるとは思いませんが、複数の形式で保存するには、printコマンドを使用します。ここに投稿された回答を参照してください: Matlabにimagesc出力を保存する

2
Malife

.figファイルとして保存する場合、hgsaveはMatlab R2012aの関数です。それ以降のバージョンでは、savefigも機能する可能性があります。

1
ssd352

最近(2017年5月)、MATLABは、特にGNU/Linuxシステムで数値をバッチモードでエクスポートする場合、数値をエクスポートするための堅牢な方法に苦しんでいます。最適なオプションは、拡張子 export_fig を使用することです

Githubからソースコードをダウンロードして使用するだけです。

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

imwrite(A,filename)は、画像データAをfilenameで指定されたファイルに書き込み、拡張子からファイル形式を推測します

0
jeremy_rutman