対数グラフ作成時にハマったメモ †semilogy等を使用しても対数軸にならない †確認した MATLAB のバージョンは R2016a,R2019b. clear close all % サンプルデータ作成 x = 1:.1:4.; y1 = exp(x); y2 = x.^3; % Figure 1 % hold on を semilogy の前に fig1 = figure; hold on h1 = semilogy(x,y1,'b-','LineWidth',2); h2 = semilogy(x,y2,'m-','LineWidth',2); hold off grid on axis square le = legend([h1 h2],{'y = e^x','y = x^3'}); set(le,'Location','NorthWest','FontSize',14) % Figure 2 % hold on を semilogy の後に fig2 = figure; h1 = semilogy(x,y1,'b-','LineWidth',2); hold on h2 = semilogy(x,y2,'m-','LineWidth',2); hold off grid on axis square le = legend([h1 h2],{'y = e^x','y = x^3'}); set(le,'Location','NorthWest','FontSize',14) Figure 1 も ax = fig1.CurrentAxes; ax.YScale = 'log'; と再設定することで y軸が対数軸表示になる. 最初に hold on を実行した時点で log スケールでない座標軸が生成されてしまうことが原因のようだ. |