基本プロット関数
プロットの作成
関数 plot
は、入力引数により形式が異なります。
y
がベクトルならば、plot(y)
は、y
の要素のインデックスに対して、y
の要素群の区分的な線形グラフを作成します。引数として 2 つのベクトルが指定されている
plot(x,y)
は、x
に対するy
のグラフを作成します。
コロン演算子を使用して、0
から の範囲の x
値のベクトルを作成し、この値の正弦を計算して結果をプロットします。
x = 0:pi/100:2*pi; y = sin(x); plot(x,y)
軸のラベルとタイトルを追加します。関数 xlabel
内の文字 \pi
は、記号 を作成します。関数 title
の FontSize
プロパティは、タイトルに使用するテキストのサイズを大きくします。
xlabel('x = 0:2\pi') ylabel('Sine of x') title('Plot of the Sine Function','FontSize',12)
1 つのグラフ内に複数のデータ セットをプロット
複数の x-y
ペアの引数から、plot
の 1 回の呼び出しにより複数のグラフが作成されます。MATLAB® はそれぞれのラインを異なる色で示します。
たとえば、次のステートメントは 3 つの関連する x
の関数をプロットします。
x = 0:pi/100:2*pi; y = sin(x); y2 = sin(x-.25); y3 = sin(x-.5); plot(x,y,x,y2,x,y3)
関数 legend
により、個々のラインを簡単に識別する方法が提供されます。
legend('sin(x)','sin(x-.25)','sin(x-.5)')
ライン スタイルと色の指定
plot
コマンドを使用してデータをプロットする場合、色、ライン スタイル、(正符号や円のような) シンボル マーカーを、次の構文により指定できます。
plot(x,y,'color_style_marker
')
color_style_marker
は、色、ライン スタイル、マーカー タイプで構成された、(一重引用符で囲まれた) 1 ~ 4 個の文字を含みます。たとえば、次の例を考えてみましょう。
plot(x,y,'r:+')
データは赤い点線でプロットされ、各データ点には +
のマーカーが配置されます。
color_style_marker
は、以下の要素の組み合わせで構成されます。
種類 | 値 | 意味 |
---|---|---|
色 | 'c' 'm' 'y' 'r' 'g' 'b' 'w' 'k' | シアン マゼンタ 黄 赤 緑 青 白 黒 |
ライン スタイル | '-' '--' ':' '-.' 文字なし | 直線 破線 点線 一点鎖線 線なし |
マーカー タイプ | '+' 'o' '*' 'x' 's' 'd' '^' 'v' '>' '<' 'p' 'h' 文字なし | プラス記号 空の丸 アスタリスク x 文字 空の四角 空の菱形 空の上向き三角 空の下向き三角 空の右向き三角 空の左向き三角 空の五角形 空の六角形 マーカーなし |
線とマーカーのプロット
マーカー タイプを指定してライン スタイルは設定しない場合、MATLAB® ではマーカーのみが描かれ、ラインは描かれません。たとえば、
plot(x,y,'ks')
は、各データ点に黒の四角形をプロットしますが、マーカーを線で接続しません。
ステートメント
plot(x,y,'r:+')
は、赤色の点線を描画し、各データ点にプラス記号のマーカーを置きます。
10 データ点ごとにマーカーを置く
この例では、線をプロットするときよりも少ないデータ点でマーカーをプロットする方法を示します。点線とマーカー プロットに対して異なる点数を使ってデータを 2 回プロットします。
x1 = 0:pi/100:2*pi; x2 = 0:pi/10:2*pi; plot(x1,sin(x1),'r:',x2,sin(x2),'r+')
虚数データと複素数データのグラフ
MATLAB では、複素数値を引数として plot
に渡す場合、単一の複素数引数を渡すとき "以外" は虚数部が無視されます。この特別な場合として、実数部に対して虚数部をプロットするための省略形として、コマンドを使うことができます。従って、
plot(Z)
は、Z
が複素数ベクトルまたは行列ならば、次のステートメントと等価です。
plot(real(Z),imag(Z))
次のステートメントは頂点を小さな円で表わした 20 角形です。
t = 0:pi/10:2*pi; plot(exp(1i*t),'-o') axis equal
axis equal
コマンドは、x 軸と y 軸の目盛り間隔を同じ長さにして、プロットの外観をより円形に近いものにします。
既存のグラフにプロットを追加
hold
コマンドを使って、既存のグラフにプロットを追加することができます。次のように入力した場合、
hold on
他のプロット コマンドを発行しても、MATLAB は既存のグラフを置き換えません。代わりに、MATLAB は新しいグラフを現在のグラフに組み合わせます。
たとえば、次のステートメントは、関数 peaks
の表面プロットを作成した後に、同じ関数の等高線図を重ね合わせます。
[x,y,z] = peaks; % Create surface plot surf(x,y,z) % Remove edge lines a smooth colors shading interp % Hold the current graph hold on % Add the contour graph to the pcolor graph contour3(x,y,z,20,'k') % Return to default hold off
Figure ウィンドウ
Figure ウィンドウが未作成の場合、プロット関数は自動的に新しい Figure ウィンドウを開きます。複数の Figure ウィンドウが開いている場合、MATLAB は "現在の Figure" として示されている Figure ウィンドウ (通常、最後に利用された Figure) を使用します。
既存の Figure ウィンドウを現在の Figure にするには、ポインターをそのウィンドウ内に置いた状態でマウスをクリックするか、次のように入力します。
figure(n)
ここで、n
は Figure ウィンドウのタイトル バーにおける数字です。
新規の Figure ウィンドウを開き、現在の Figure にします。
figure
新規プロット用に Figure をクリア
Figure が既に存在するとき、ほとんどのプロット関数は、座標を消去して、この Figure を使って新規プロットを作成します。しかし、これらのコマンドは、背景色やカラー マップのような Figure のプロパティをリセットしません。前のプロットで Figure のプロパティを設定した場合は、clf
コマンドと reset
オプションを使うことができます。
clf reset
次に、Figure のプロパティをその既定の設定に復元する新しいプロットを作成します。
1 つの Figure ウィンドウに複数のプロットを表示
subplot
コマンドを使って、同じウィンドウに複数のプロットを表示したり、同じ用紙に印刷したりできます。以下のように入力すると、
subplot(m,n,p)
Figure ウィンドウが m
行 n
列の小さなサブプロットに分割され、現在のプロットとして p
番目のサブプロットが選択されます。プロットは、まず Figure ウィンドウの一番上の行、その次に 2 番目の行、と順に番号が付けられます。たとえば、次のステートメントは、Figure ウィンドウの 3 つのサブ領域にデータをプロットします。
x = 0:pi/20:2*pi; subplot(3,1,1); plot(sin(x)) subplot(3,1,2); plot(cos(x)) subplot(3,1,3); plot(sin(x).*cos(x))
軸の制御
axis
コマンドは、スケーリング、方向、縦横比を設定するための多数のオプションをサポートしています。
座標軸の範囲と目盛りの自動設定
既定の設定では、MATLAB はデータの最大値と最小値を検出し、その範囲とする座標軸の限界値を選択します。MATLAB は、データを明確に表示するグラフを作成するよう、範囲と座標軸の目盛りの値を選択します。しかし、関数 axis
または xlim
、ylim
および zlim
の関数の使用により範囲を独自に設定できます。
メモ
ある座標軸の範囲を変更すると、データをより見やすく表示するため、他の範囲を変更することになる場合があります。範囲の自動設定を無効にするには、axis manual
コマンドを入力します。
軸の範囲の設定
axis
コマンドを使ってユーザー独自に範囲を指定することができます。
axis([xmin xmax ymin ymax])
または、3 次元グラフに対しては、次のようにします。
axis([xmin xmax ymin ymax zmin zmax])
コマンド
axis auto
を使うと、自動範囲選択が可能になります。
軸の縦横比の設定
axis
コマンドでも、事前定義された多数のモードを指定できます。たとえば、
axis square
は、x 軸と y 軸を同じ長さにします。
axis equal
は、x 軸と y 軸の個々の目盛りの増分を等しくします。次のステートメントは、
plot(exp(1i*(0:pi/10:2*pi)))
に、axis square
または axis equal
を続けると、楕円を円にします。
axis auto normal
は、軸のスケーリングを既定の自動モードに戻します。
軸の視覚状態の設定
axis
コマンドを使用して、軸を表示または非表示にできます。
axis on
は、軸を表示します。これは既定です。
axis off
は、軸を非表示にします。
グリッド ラインの設定
grid
コマンドは、グリッド ラインのオンとオフを切り替えます。ステートメント
grid on
は、グリッド ラインを表示し、
grid off
は、グリッド ラインを非表示にします。
軸のラベルとタイトルの追加
この例では、グラフを作成して体裁を改善する方法について説明します。
LaTeX 記法を用いて数学シンボルを生成します。
グラフに矢印、ボックス、円を配置する方法についての詳細は、関数 annotation
を参照してください。
Figure の保存
Figure を保存するには、[ファイル] メニューから [保存] を選択します。これによって、Figure がプロパティ データ、メニュー、uicontrol およびすべての注釈と共に (つまり、ウィンドウ全体が) ファイルに書き込まれます。以前に Figure を保存していない場合は、[名前を付けて保存] ダイアログが表示されます。このダイアログ ボックスには、Figure を .fig
ファイルとして保存したり、グラフィックス形式でエクスポートしたりするためのオプションが用意されています。
Figure を以前に保存している場合は、[保存] を利用して Figure を保存すると、[名前を付けて保存] ダイアログを表示せずに保存できます。
他のアプリケーションで利用するために TIFF または JPG などの標準グラフィックス形式を用いて Figure を保存するには、[ファイル] メニューから [名前を付けて保存] (または追加設定が必要なときには [エクスポートの設定]) を選択します。
メモ
Figure を保存するための形式を指定すると、次回にその Figure または新規の Figure を保存するときに再びそのファイル形式が使われます。以前に使用した形式では保存しない場合は、[名前を付けて保存] を使用して、書き込むファイルの種類を [ファイルの種類] ドロップダウン メニューで設定します。
次のようにコマンド ラインからも保存できます。
Figure の読み込み
Figure を MATLAB に読み込むには、次の関数を使用します。
Figure の再作成のための MATLAB コードの生成
Figure とその Figure が含むグラフを再作成する MATLAB コードを、Figure ウィンドウの [ファイル] メニューの [コード生成] を選択して生成できます。このオプションは、プロット ツールを使ってグラフを作成し、同じまたは異なるデータを使って同じグラフを作成する場合に特に役立ちます。
ワークスペース データの保存
ワークスペース変数は、Figure ウィンドウの [ファイル] メニューの [別名でワークスペースを保存] を選択して保存できます。Figure ウィンドウの [ファイル] メニューの [データのインポート] アイテムを使って保存されたデータを再び読み込むことができます。MATLAB は、さまざまなデータ ファイル形式をサポートします。拡張子 .mat
をもつ MATLAB データ ファイルも含まれます。