4. グラフィックス

4.1. 2次元グラフィックス

代表的な2次元グラフィックス関数には、以下のものがあります。

plot 線形プロット
contour コンタープロット
semilogx X片対数プロット
quiver 矢印プロット
semilogy Y片対数プロット
stream2 ストリームプロット
loglog 両対数プロット
image イメージの表示
plotyy 左右両軸プロット
imagesc イメージの表示(SC)

2次元グラフィックスの代表的なplot関数の書式は以下になります。

plot(x1,y1,’Color LineStyle Marker’,x2,y2,’ Color LineStyle Marker’,…)

(x1,y1),(x2,y2)はそれぞれ表示するデータの組み合わせを表します。 また、’Color LineStyle Marker’は描画するラインのオプションのプロパティを表し、 それぞれ線の色、線種、マーカーを指定します。 線 のプロパティの詳細については、「doc linespec」コマンドで確認して下さい。

(例)Sinカーブ、Cosカーブのプロット

>> x=0:pi/8:2*pi;
>> y1=sin(x);y2=cos(x);
>> plot(x,y1,'g-o',x,y2,'r*')

※グラフ線プロパティの説明

(x,y1) (x,y2)
カラー 緑(g) 赤(r)
ライン 実線(-) なし
マーカー 丸(o) アスタリスク(*)

(例)左右両軸プロット

>> x=0:0.1:10;
>> y1=10.^x;
>> y2=sin(x);
>> plotyy(x,y1,x,y2,'semilogy','plot')

4.2. 3次元グラフィックス

代表的な3次元グラフィックス関数には、以下のものがあります。

plot3 3次元プロット
meshc メッシュコンタープロット
mesh メッシュプロット
caxis カラー軸のスケーリング
surf サーフィスプロット
colormap カラーマップ
contour3 コンタープロット
colordef 背景色の設定

(例) 2次元sinc関数、sin(r)/r をx およびy 方向で実行しグラフ化します。 R は、行列の中心である原点からの距離です。 eps (小さな浮動小数点数を出力するMATLABコマンド)を加えると、 原点での0/0が中間で生じることを避けることができます。

>> [X,Y] = meshgrid(-8:.5:8);
>> R = sqrt(X.^2 + Y.^2) + eps;
>> Z = sin(R)./R;
>> mesh(X,Y,Z,'EdgeColor','black')

デフォルトでは、 MATLABはカレントのカラーマップを使ってメッシュを色付けします。 しかしこの例題では、 EdgeColor surface プロパティを指定することによって、単色のメッシュを用います。

(例)カラーサーフェスプロット サーフェスプロットは、長方形の面が色付けされることを除いて、メッシュプロットに似ています。 面のカラーは、Z の値とカラーマップによって決定されます(colormap は、順番付けられたカラーのリストです)。 次のステートメントは、sinc 関数をサーフェスプロットとしてグラフ化し、 カラーマップを選択し、カラーバーを付加して、データのカラーへのマッピングを示します。

>> surf(X,Y,Z)
>> colormap hsv
>> colorbar

(例)透明なサーフェス サーフェスの表面は、可変の程度で透明にすることができます。 透明性(alpha値として参照されます)は、オブジェクト全体に対して指定されるか、あるいはカラーマップと同様に機能するalphamapに基づきます。

>> surf(X,Y,Z)
>> colormap hsv
>> alpha(.4)

4.2.1. グラフの軸・注釈の設定

代表的な軸設定・注釈設定関数を以下に示します。

xlim X軸範囲の変更
Xlabel X軸ラベル
ylim Y軸範囲の変更
ylabel Y軸ラベル
zlim Z軸範囲の変更
zlabel Z軸ラベル
axis 軸範囲の変更
title タイトル
grid グリッド表示
legend 凡例
view 視点の変更
text テキストを表示
colorbar カラーバー
gtext マウスを使ったテキスト表示

(例)Sinカーブ、Cosカーブの装飾付きプロット

>> x=[0:pi/8:2*pi];
>> y(:,1)=sin(x);
>> y(:,2)=cos(x);
>> plot(x,y)
>> xlim([0,2*pi])
>> grid
>> xlabel('x-axis')
>> ylabel('y-axis')
>> title('Plot of sin and cos curves')
>> legend('sin','cos')

4.2.2. グラフィックスの編集機能

グラフィックスの編集を行う代表的な方法には次の2通りあります。

  • プロパティエディタを利用する
  • Plot Tool機能を利用する

プロパティエディタはMATLABのグラフィックス編集を行うGUIツールで、 基本的にマウス操作がメインになります。
これに対して、コマンドによる編集方法はキーボード入力がメインになります。

  1. プロパティエディタの利用 プロパティエディタを起動するには、Figureウィンドウの「Edit」⇒「Figure Properties」を選択します。 Property Editorが起動します。変更したいプロパティを選択すると表示されるメニューがその都度変わります。
  2. Plot Tool機能の利用