• ベストアンサー

MATLABのグラフをファイルに保存する時のサイズ指定方法?

MATLABのグラフをコマンドラインから、jpgで保存する作業をしています。 handle_fig11 = figure(11); rect = [ 0, 0, 1200, 600]; set(handle_fig11, 'Position', rect); (描画) saveas(handle_fig12,'***.jpg'); のように保存しているのですが、保存されたファイルの縦横サイズが1200x600でなく、1563x781になってしまいます。指定した画素数で保存するにはどうすれば良いか教えてください。saveasのオプションは、なさそうですし、どこで決まってしまうのでしょうか?ちなみに、グラフのGUIを使って保存すると、1200x600で保存されますが、コマンドラインから、自動で保存する必要があり、困っております。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • qqtester
  • ベストアンサー率66% (10/15)
回答No.2

set(handle_fig11, 'Position', rect); -> set(handle_fig11, 'PaperPosition', rect); にすると良いです。 saveasで主力される画像サイズは、プリントアウト時のサイズと同じなので'PaperPosition'で設定します。あと、'PaperUnits'にも注意しましょう(こちらがあっていないのかも)。 詳細は、参考URLの後半にある 参考)プリントアウトに関するFigureプロパティ 以降を参照してください。

参考URL:
http://www.cybernet.co.jp/matlab/support/techkwdb/search_view.php?id=1017
yyamada10
質問者

お礼

良く分かりました。どうもありがとうございました。

その他の回答 (1)

  • keyth
  • ベストアンサー率50% (2/4)
回答No.1

saveasで保存しているのはfigure全体で、画像はaxisの部分のみに格納されているのが原因です。 現在自宅にMATLAB環境がないのでコマンドの詳細はわかりませんが、 axisの幅と高さなどを取得して、figureの幅と高さを、axisと同じに設定する必要があったと思います。

yyamada10
質問者

お礼

ご回答遅くなって申し訳ありません。非常に良く分かりました。どうもありがとうございました。

関連するQ&A