ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

プロット関数

線グラフをプロットする関数

MATLAB® は、ライン プロットとして、ベクトル データを表示するさまざまな関数やこれらのグラフに注釈を付けたり、印刷したりする関数を提供します。次の表は、基本的なライン プロットを生成する関数を示します。これらの関数は、プロットの Axes をスケーリングする方法においてのみ違いがあります。各関数は、ベクトルまたは行列形式で入力を受け入れ、データの範囲に合うように Axes のスケールを自動的に変更します。

関数

説明

plot

両軸に線形スケールを使用して 2 次元データをグラフ化します。

plot3

両軸に線形スケールを使用して 3 次元データをグラフ化します。

loglog

両軸に対数スケールを使用してグラフ化します。

semilogx

x 軸に対数スケールを使用し、y 軸に線形スケールを使用してグラフ化します。

semilogy

y 軸に対数スケールを使用し、x 軸に線形スケールを使用してグラフ化します。

plotyy

左右両軸に y の目盛りラベルをもつグラフ

全プロット関数のリストを表示するには、「MATLAB プロットのタイプ」を参照してください。

ライン プロットの作成

関数 plot の形式は、入力引数によって異なります。たとえば、y をベクトルとすると、plot(y)y 要素のインデックスに対して、y の要素の線形グラフを生成します。引数として 2 つのベクトルを指定した場合、plot(x,y) は、x に対する y のグラフを作成します。

たとえば、次のステートメントは、π/100 の増分刻みで [0, 2π] の範囲の値をもつベクトルを生成し、このベクトルを使って、その範囲にわたって正弦関数を評価します。MATLAB は、x 軸にベクトル、y 軸に正弦関数の値をプロットします。

t = 0:pi/100:2*pi;
y = sin(t);
plot(t,y)
grid on % Turn on grid lines for this plot

自動的に適切な軸範囲と目盛りの位置が選択されます。

xy の組み合わせを使って、plot を 1 回呼び出すだけで複数のグラフをプロットすることができます。MATLAB は、事前定義済みの色のリスト (Axes の ColorOrder プロパティにより決定) を自動的に循環させることで、データセットの区別を可能にします。3 つの曲線を t の関数としてプロットすると、次のようになります。

y = sin(t);
y2 = sin(t-0.25); 
y3 = sin(t-0.5);
plot(t,y,t,y2,t,y3)

ライン スタイルの指定

各データセットに異なるライン スタイルを割り当てるには、ライン スタイルの識別子文字列を plot に渡します。たとえば、次のようになります。

t = 0:pi/100:2*pi;
y = sin(t);
y2 = sin(t-0.25); 
y3 = sin(t-0.5);
plot(t,y,'-',t,y2,'--',t,y3,':')

グラフは異なる色とライン スタイルをもつ 3 つのラインを表示し、yy2y3 で定義されたように、各ラインの位相を少しずらして、正弦関数の値を示します。ラインは青色の実線、緑色の破線、赤色の点線で示されています。

色、ライン スタイル、マーカー

基本的なプロット関数は、プロットされるベクトルごとに、さまざまなライン スタイル、マーカー記号および色を指定する文字列引数を受け入れます。一般的な形式

plot(x,y,'linestyle_marker_color')

において、linestyle_marker_color は、(単一引用符で囲まれた) 文字列であり、次のもので構成されます。

  • ライン スタイル (たとえば、破線、点線、等)

  • マーカー タイプ (たとえば x*o など)

  • 事前設定した色の識別子(cmykrgbw)

たとえば、

plot(x,y,':squarey')

は、黄色の点線をプロットし、各データ点に正方形マーカーを描きます。マーカー タイプを指定して、ライン スタイルを設定しなければ、マーカーのみが描かれます。

この指定は、任意の順序の 1 個または 0 個の各指定子で構成できます。たとえば、以下の文字列

'go--'

は、緑色の破線と円マーカーを定義します。

また、マーカーのサイズを設定することもできます。また、閉じられた形状をもつマーカーに対して、エッジの色と面の色を別々に設定することもできます。

詳細は、LineSpec を参照してください。

ラインの色やサイズを指定する

ライン プロパティの値を指定することによって、多数のライン スタイル特性をコントロールすることができます。

  • LineWidth - ポイント数でラインの幅を指定します。

  • MarkerEdgeColor — マーカーの色または塗りつぶされたマーカー (円、正方形、菱形、星形五角形、星形六角形、4 種類の三角形) のエッジの色を指定します。

  • MarkerFaceColor - 塗りつぶしたマーカーの面の色を指定します。

  • MarkerSize - ポイント単位でマーカーのサイズを指定します。

たとえば、次のステートメント

x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
plot(x,y,'--rs','LineWidth',2,...
                'MarkerEdgeColor','k',...
                'MarkerFaceColor','g',...
                'MarkerSize',10)

は、以下の特徴をもつグラフを作成します。

  • 正方形のマーカーをもった赤い破線

  • 2 ポイントのライン幅

  • 黒のマーカーのエッジ

  • 緑のマーカーの面

  • 10 ポイントに設定されているマーカーのサイズ

既存のグラフにプロットを追加

hold コマンドを使用すると、既存のグラフにプロットを追加することができます。holdon に設定すると、MATLAB は現在表示しているグラフを削除せず、新しいデータをその上に加えます。また、新しいデータが既存の軸の範囲を超える場合は、再度スケーリングを行います。

たとえば、次のステートメントは、まず片対数プロットを作成し、その上に線形プロットを加えます。

semilogx(1:100,'+')
hold all % hold plot and cycle line colors
plot(1:3:300,1:100,'--')
hold off
grid on % Turn on grid lines for this plot

新しく加えるデータを表示するため、x 軸の範囲をリセットしますが、対数スケールから線形スケールへのスケーリングの変更は行いません。

データ点のみをプロット

マーカーをラインで結ばないで、各データ点をマーカーでプロットするには、ライン スタイルを含まない指定を行います。たとえば、2 つのベクトルが与えられた場合、

x = 0:pi/15:4*pi;
y = -exp(2*cos(x));

そして、カラーの指定子とマーカーの指定子のみを使って、plot を呼び出します。

plot(x,y,'r+') 

は、各データ ポイントで赤色の正符号をプロットします。

使用可能なライン スタイル、マーカー、色の一覧については、LineSpec を参照してください。

マーカーとラインのプロット

マーカーと、マーカー同士を結ぶラインの両方をプロットするには、ライン スタイルとマーカー タイプを指定します。たとえば、次のコードは赤の実線としてデータをプロットしてから、各データ ポイントでエッジが黒色の円マーカーを追加します。

x = 0:pi/15:4*pi;
y = -exp(2*cos(x));
plot(x,y,'-r',x,y,'ok') 

モノクロ出力用のライン スタイル

ライン スタイルとマーカーを使用すると、色を使用できない場合に、同じグラフ上で異なるプロットを区別できます。たとえば、次のステートメントは、黒のアスタリスク マーカーをもつ実線 ('-*k') と、黒の円マーカーをもつ一点鎖線 ('-.ok') を使用してグラフを作成します。

x = 0:pi/15:4*pi;
y1 = -exp(2*cos(x));
y2 = -exp(2*sin(x));
plot(x,y1,'-*k',x,y2,'-.ok')

既定のライン スタイルの設定

複数ラインのプロットに対して色を使用する代わりに、ライン スタイルを使用するように MATLAB の既定値を構成するには、linespec のセル配列を使用して、Axes の LineStyleOrder プロパティの値を設定します。たとえば、次のコマンド

set(0,'DefaultAxesLineStyleOrder',{'-o',':s','--+'})

は、3 つのライン スタイルを定義し、すべてのプロットに対して、それらを既定値に設定します。

既定のライン色をダーク グレーに設定するには、次のステートメントを使います。

set(0,'DefaultAxesColorOrder',[0.4,0.4,0.4])

RGB 値の 3 要素ベクトルとして色を指定する方法については、ColorSpec を参照してください。

ここで、関数 plot は、ユーザーが既定値として設定したライン スタイルや色を使います。たとえば、次のステートメントは、複数ラインのプロットを作成します。

x  = 0:pi/10:2*pi;
y1 = sin(x);
y2 = sin(x-pi/2);
y3 = sin(x-pi);
plot(x,y1,x,y2,x,y3)

MATLAB を終了するまで、ここで設定した既定値が使われます。MATLAB セッション中に既定値を削除するには、予約語 remove を使用します。

set(0,'DefaultAxesLineStyleOrder','remove')
set(0,'DefaultAxesColorOrder','remove')

詳細は、既定のプロパティ値の設定を参照してください。

この情報は役に立ちましたか?