#はじめに
一般にプログラムを回した結果出力されるグラフはあくまで結果確認用でありそのままどこかに出せるものではないので外見の調整が必要になります。MATLABで出力される図も例にもれずお世辞にも綺麗とは言えません(超個人的感想)(異論は認める)。かといって図を取得するたびに外見を整えるのは非常に面倒なので楽にしたいと思いました。そんなすごいことはしてませんが数値計算屋さんの自分の備忘録兼卒論修論に臨むMATLABerさんたちに役立てばと思い書きました。
#外見を整える関数
以下のような関数を作成しました。x軸(x)とプロットしたいデータ(data)を引数として与えます。
function [] = plotforpaper(x, data)
p = plot(x,data,'LineWidth', 2); %2ptでプロット
p(1).Color='r';
p(1).MarkerIndices = 1:100:length(data); %100点ごとにマーカーを打つ
p(1).Marker='o'; %マーカー記号
p(1).MarkerSize=7; %マーカーサイズ
p(1).MarkerFaceColor='w'; %マーカー塗りつぶし
p(2).Color='b';
p(2).MarkerIndices = 1:100:length(data);
p(2).Marker='^';
p(2).MarkerSize=7;
p(2).MarkerFaceColor='w';
grid on;
axis([0, 10, -1.2, 1.2]);
xlabel('$x$', 'Interpreter', 'latex','FontSize',14); %論文に合わせてTimes New Romanに&文字大きめ
ylabel('$y$', 'Interpreter', 'latex','FontSize',14);
legend('$\sin(x)$','$\cos(x)$', 'Interpreter', 'latex','FontSize',14);
ax = gca;
ax.XTick = 0:2:10; %x軸の目盛りは2ごと
ax.TickLabelInterpreter = 'latex'; %軸の書式
ax.FontSize = 14; %軸のフォントサイズ
ax.GridAlpha = 0.5; %グリッドの濃さ(0~1)
ax.MinorGridAlpha = 0; %細かいグリッドの濃さ(0~1)
ax.LineWidth = 0.7; %グラフ枠のライン幅
end
初期のplot(x, data)
に最低限のグリッド、凡例、軸の名前を追加したもの↓
初期のままだと結果の確認には十分ですが対外的に出すには明らかにちゃっちいですね。
#参考文献
https://jp.mathworks.com/help/matlab/ref/matlab.graphics.chart.primitive.line-properties.html
https://jp.mathworks.com/help/matlab/ref/matlab.graphics.axis.axes-properties.html