グラフタイトル、ラベル追加、スケールの変更――グラフ修飾の方法:無償ソフトで技術計算しよう【グラフィックス編】(2)(2/2 ページ)
今回は、FreeMatで作ったグラフにタイトルを付けたり、スケールを変更したりする方法について解説する。
グラフスケールの操作
図6は横長のグラフで楕円に見えています。そこで、正しい円に見えるようにします。この場合、方法は2つあります。1つはグラフの形状を正方形にするコマンド「axis('square')」を使います。
他方は、縦横は同じく-1〜1に変化しているので、縦横のスケールを等しくするコマンドである axis('equal')を使います。いずれでも図7が得られます。
今回は同じ結果になりましたが、axis('square')は軸のスケールとは関係なく、グラフ形状を正方形にします。また、axis('equal')は縦横のスケールを等しくするもので、縦横の範囲が異なれば、正方形とはなりません。例えば、d=0:360;plot(2*cosd(d),sind(d));axis('square');とすると、図8となり、d=0:360;plot(2*cosd(d),sind(d));axis('equal');とすると、図9のようになります。
プロット範囲の修正
x軸、y軸の範囲はオートスケールで設定されます。これを任意の範囲に修正するには、axis([xmin,xmax,ymin,ymax])とします。x軸だけを修正するにはxlim([xmin,xmax])、y軸だけを修正するにはylim([ymin,ymax])とします。先ほどの楕円をx軸が-3〜3、y軸が-2〜2の範囲で作成してみます。d=0:360;plot(2*cosd(d),sind(d));axis([-3,3,-2,2]);とすると、図10が得られます。
グリッドを入れる
グラフにグリッドを入れるには「grid('on')」とします。グリッドを消すには「grid('off')」とします。図9の楕円にグリッドを入れてみます。d=0:360;plot(2*cosd(d),sind(d));grid('on');とすると、図11が得られます。
グラフの任意の点の座標取得
グラフ上の任意の点の座標を取得するには、コマンドウィンドウにt=pointと入力します(tは任意の変数名)。次にグラフウィンドウにカーソルを移動するとカーソルが十字に変わります。座標を取得したい位置でマウスを左クリックすると、例えば、t=-1.0583 0.3216とグラフ上の座標が変数tに入力されます。
複数のグラフのプロット
グラフ作成後に、再度、プロットコマンドを使うと、前のグラフは削除されます。そこで、削除されずに複数のグラフを作成するには、「figure」コマンドで、プロット前に新たにウィンドウを用意します。こうすると、複数のグラフウィンドウが描画されます。具体的には「figure(windowID)」を入力します。例えば、円と楕円を描いてみます。
d=0:360;figure(1);plot(cosd(d),sind(d));figure(2);plot(2*cosd(d),sind(d));とすると、グラフウィンドウが2つ重なって表示されます。マウスでドラッグすると、下から円のグラフが現れます。
複数のグラフをプロットするにはもう1つ方法があります。サブプロットといい、1つのグラフウィンドウに複数のグラフを描画します。ウィンドウ内を行列に見立て、subplot(行、列、グラフは何番目か)の順に数値を入力してから、プロットコマンドを使います。グラフが何番目かは、1行目で左から右、次の行の左から右の順になります。円と楕円をサブプロットで描いてみます。
clear; d=0:360; subplot(2,1,1);plot(cosd(d),sind(d)); axis('square'); subplot(2,1,2);plot(2*cosd(d),sind(d)); axis('equal');
ex202.mを実行すると、図12が得られます。
◇
次回は3次元グラフの作成方法について説明します。
参考文献
- 「MATLABハンドブック」小林一行著、秀和システム刊
- 「はじめてのFreeMat」赤間世紀著、工学社刊
筆者紹介
伊藤孝宏(いとう・たかひろ)
1960年生。小型モーターメーカーのエンジニア。博士(工学)。専門は流体工学、音・振動工学。現在は、LabVIEWを使って、音不良の計測・診断ソフト、特性自動検査装置などの開発を行っている。
Copyright © ITmedia, Inc. All Rights Reserved.