MATLABでPDFに余白を付けずに保存Ⅲ(MATLAB)
背景
古来より我々はmatlabの作るPDFのへんてこなことに悩まされ続けてきました。
今までも以下のようなシリーズで様々に悪戦苦闘してきました。
他の人のツールを使おう
以下のところからツールを落としてきます。
github.com
使い方 : テンプレ
このツールには主にpubfigとexpfigの2つがあります。
pubfigはfigureを綺麗に整形する機能が,
expfigはfigureを綺麗に出力(保存)する機能があります。
以下その例をば,
%figure定義 hfig=figure(1); plot(~~);%なんか入れてplotしてね grid on; xlabel('frame number'); ylabel('error') legend('A','B','Location','best') title('Pyoyon') pfig = pubfig(hfig); pfig.LegendLoc = 'best'; pfig.FigDim = [15 11]; expfig('filename','-pdf');
loationをいじるところとか被ってたりするけどとりあえず何も考えなくともキレイな図が出るのが良いですね。
2018年4月追記)最後から二行目のところですが,FigDimという要素が削除されたようなので
pfig.Dimension = [15 11];
と書き換えて実行しましょう。
Figの大きさをいじる。
ソースコードはとても難解でしたがFigDimというクラスでFigureのサイズを司っています。
なおMATLAB公式によるとfigのうちのpositionというハンドルをいじれば変更できます。
https://jp.mathworks.com/help/matlab/ref/figure-properties.html
とりあえずコンパクトなサイズとして以下を使うようにしています,
[横 縦]の順です。
pfig.FigDim = [15 11];