- ベストアンサー
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で保存されますが、コマンドラインから、自動で保存する必要があり、困っております。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
set(handle_fig11, 'Position', rect); -> set(handle_fig11, 'PaperPosition', rect); にすると良いです。 saveasで主力される画像サイズは、プリントアウト時のサイズと同じなので'PaperPosition'で設定します。あと、'PaperUnits'にも注意しましょう(こちらがあっていないのかも)。 詳細は、参考URLの後半にある 参考)プリントアウトに関するFigureプロパティ 以降を参照してください。
その他の回答 (1)
- keyth
- ベストアンサー率50% (2/4)
saveasで保存しているのはfigure全体で、画像はaxisの部分のみに格納されているのが原因です。 現在自宅にMATLAB環境がないのでコマンドの詳細はわかりませんが、 axisの幅と高さなどを取得して、figureの幅と高さを、axisと同じに設定する必要があったと思います。
お礼
ご回答遅くなって申し訳ありません。非常に良く分かりました。どうもありがとうございました。
お礼
良く分かりました。どうもありがとうございました。