対数グラフ作成時にハマったメモ

semilogy等を使用しても対数軸にならない

versionはR2016a.
対数軸グラフを作成する際は,hold onをsemilogy等の先に書いてはいけないらしい.
例を以下に,

% データ作成
clear; close all;
x = 1:.1:4.; y1 = exp(x); y2 = x.^3;
% Figure1: hold onを最初に記述
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);
% Figure2: hold onをsemilogyの後に
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);

作成された図は以下のようになる.
logscale_fig1.pnglogscale_fig2.png
Figure1も

set(gca,'yscale','log')

と再設定することでy軸が対数軸になる.
最初にhold onを実行した時点で,ログスケールでない座標軸が生成されてしまうことが原因のようだ.


Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2017-10-05 (Thu) 18:51:45 (14d)