読者です 読者をやめる 読者になる 読者になる

粗大メモ置き場

個人用,たまーに来訪者を意識する雑記メモ

MATLABでPDFに余白を付けずに保存Ⅲ(MATLAB)

背景

古来より我々はmatlabの作るPDFのへんてこなことに悩まされ続けてきました。
今までも以下のようなシリーズで様々に悪戦苦闘してきました。

ossyaritoori.hatenablog.com
ossyaritoori.hatenablog.com

他の人のツールを使おう

以下のところからツールを落としてきます。
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をいじるところとか被ってたりするけどとりあえず何も考えなくともキレイな図が出るのが良いですね。

Figの大きさをいじる。

ソースコードはとても難解でしたがFigDimというクラスでFigureのサイズを司っています。

なおMATLAB公式によるとfigのうちのpositionというハンドルをいじれば変更できます。
Figure ウィンドウの外観と動作の制御 - MATLAB - MathWorks 日本

とりあえずコンパクトなサイズとして以下を使うようにしています,
[横 縦]の順です。

pfig.FigDim = [15 11];