Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

contour3

  • 3-D contour plot

説明

contour3(Z) は、行列 Z の等値線を含む 3 次元等高線図を作成します。Z には x-y 平面上の高さの値が含まれます。MATLAB® は表示する等高線を自動的に選択します。Z の列と行のインデックスは、それぞれ平面の x 座標と y 座標です。

contour3(X,Y,Z) は、Z の値に x 座標および y 座標を指定します。

contour3(___,levels) は、前述の任意の構文における最後の引数として、表示する等高線を指定します。スカラー値 n として levels を指定し、自動的に選択されたレベル (高さ) n の等高線を表示します。特定の高さの等高線を描画するには、単調増加する値のベクトルとして levels を指定します。1 つの高さ (k) の等高線を描画するには、levels を 2 要素の行ベクトル [k k] として指定します。

contour3(___,LineSpec) は、等高線のスタイルと色を指定します。

contour3(___,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、等高線図の追加のオプションを指定します。オプションは他のすべての入力引数の後に指定します。プロパティの一覧については、Contour のプロパティ を参照してください。

contour3(ax,___) は、ターゲット座標軸に等高線図を表示します。前述の任意の構文で、最初の引数として座標軸を指定します。

M = contour3(___) は、各レベルの頂点の (x, y) 座標を含む等高線行列 M を返します。

[M,c] = contour3(___) は、等高線行列と contour オブジェクト c を返します。等高線図の表示後にプロパティを設定するには、c を使用します。

すべて折りたたむ

ZXY の関数として定義します。この例では、関数 sphere を呼び出して XYZ を作成します。その後、Z の等高線をプロットします。

[X,Y,Z] = sphere(50);
contour3(X,Y,Z);

Figure contains an axes object. The axes object contains an object of type contour.

Z を 2 変数 XY の関数として定義します。その後、Z の等高線をプロットします。この例では、等高線、および x 軸と y 軸の範囲を MATLAB® に選択させます。

[X,Y] = meshgrid(-5:0.25:5);
Z = X.^2 + Y.^2;
contour3(Z)

Figure contains an axes object. The axes object contains an object of type contour.

次に、等高線レベル数 50 を指定し、Z の計算に使用した xy の範囲内の結果を表示します。

contour3(X,Y,Z,50)

Figure contains an axes object. The axes object contains an object of type contour.

Z を 2 変数 XY の関数として定義します。その後、Z = [-.2 -.1 .1 .2] の等高線をプロットします。ShowText プロパティを 'on' に設定して、等高線のラベルを表示します。

[X,Y] = meshgrid(-2:0.25:2);
Z = X.*exp(-X.^2-Y.^2);
contour3(X,Y,Z,[-.2 -.1 .1 .2],'ShowText','on')

Figure contains an axes object. The axes object contains an object of type contour.

ZXY の関数として定義します。この例では、関数 peaks を呼び出して XYZ を作成します。その後、Z = 2 の等高線を表示します。

[X,Y,Z] = peaks;
contour3(X,Y,Z,[2 2]);

Figure contains an axes object. The axes object contains an object of type contour.

Z を 2 変数 XY の関数として定義します。Z の 30 本の等高線をプロットしてから、ライン幅を 3 に設定します。

[X,Y] = meshgrid(-2:0.0125:2);
Z = X.*exp(-X.^2-Y.^2);
[M,c] = contour3(X,Y,Z,30);
c.LineWidth = 3;

Figure contains an axes object. The axes object contains an object of type contour.

入力引数

すべて折りたたむ

x 座標。Z と同じサイズの行列、または長さが n のベクトル ([m,n] = size(Z)) として指定します。X の既定値はベクトル (1:n) です。

X が行列である場合、その値は 1 つの次元に沿って厳密に増加するか減少しなければならず、その他の次元に沿って一定でなければなりません。変化する次元は、Y で変化する次元と反対のものでなければなりません。行列 X と行列 Y を作成するには、関数 meshgrid を使用できます。

X がベクトルである場合、その値は厳密に増加するか減少しなければなりません。

例: X = 1:10

例: X = [1 2 3; 1 2 3; 1 2 3]

例: [X,Y] = meshgrid(1:10)

Contour オブジェクトの XData プロパティに x 座標が格納されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

y 座標。Z と同じサイズの行列、または長さが m のベクトル ([m,n] = size(Z)) として指定します。Y の既定値はベクトル (1:m) です。

Y が行列である場合、その値は 1 つの次元に沿って厳密に増加するか減少しなければならず、その他の次元に沿って一定でなければなりません。変化する次元は、X で変化する次元と反対のものでなければなりません。行列 X と行列 Y を作成するには、関数 meshgrid を使用できます。

Y がベクトルである場合、その値は厳密に増加するか減少しなければなりません。

例: Y = 1:10

例: Y = [1 1 1; 2 2 2; 3 3 3]

例: [X,Y] = meshgrid(1:10)

Contour オブジェクトの YData プロパティに y 座標が格納されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

z 座標。行列として指定します。この行列には、少なくとも 2 行と 2 列がなければならず、少なくとも 2 つの異なる値が含まれなければなりません。

例: Z = peaks(20)

Contour オブジェクトの ZData プロパティに z 座標が格納されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

等高線のレベル。0 または正の整数のスカラー、あるいはベクトルとして指定します。この引数を使用して等高線の数と位置を制御します。レベルを指定しない場合、関数 contour3 はレベルを自動的に選択します。

  • 自動的に選択された n 個の高さに等高線を描画するには、levels をスカラー値 n として指定します。

  • 特定の高さの等高線を描画するには、単調増加する値のベクトルとして levels を指定します。

  • 単一の高さ k に等高線を描画するには、levels を 2 要素の行ベクトル [k k] として指定します。

例: contour3(peaks,10) は、関数 peaks の自動的に選択された 10 個の高さに等高線を描画します。

例: contour3(peaks,[-4 0 4]) は、関数 peaks の特定の 3 つの高さ -40、および 4 に等高線を描画します。

例: contour3(peaks,[3 3]) は、関数 peaks の高さが 3 の位置を示す等高線を描画します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

ラインのスタイルと色。文字と記号を含む文字ベクトルまたは string スカラーとして指定します。文字と記号の順番は任意です。ライン スタイル、ラインの色、またはその両方を指定できます。'o' などのマーカー記号は無視されます。

例: '--g' は緑色の破線です。

ライン スタイル説明結果として得られる線
"-"実線

Sample of solid line

"--"破線

Sample of dashed line

":"点線

Sample of dotted line

"-."一点鎖線

Sample of dash-dotted line, with alternating dashes and dots

色名省略名外観
'red''r'

Sample of the color red

'green''g'

Sample of the color green

'blue''b'

Sample of the color blue

'cyan' 'c'

Sample of the color cyan

'magenta''m'

Sample of the color magenta

'yellow''y'

Sample of the color yellow

'black''k'

Sample of the color black

'white''w'

Sample of the color white

ターゲット座標軸。Axes オブジェクトとして指定します。座標軸を指定しない場合、contour3 は現在の座標軸にプロットします。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: contour3(Z,'ShowText','on') は、等高線のラベルを表示します。

メモ

ここでは、プロパティの一部だけを紹介しています。完全な一覧については、Contour のプロパティ を参照してください。

等高線のラベル。'on' または 'off' もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on' — 等高線に沿って高さの値を表示します。

  • 'off' — 等高線にラベルを付けません。

等高線の幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。

等高線に沿ったラベルの間隔。ポイント単位のスカラー値として指定します。1 ポイントは 1/72 インチです。このプロパティを使用して、等高線に沿った等高線のラベル数を制御します。値が小さいほどラベル数が多くなります。

LabelSpacing プロパティを有効にするには、ShowText プロパティを 'on' に設定しなければなりません。

関数 clabel を使用してラベルを表示する場合、LabelSpacing プロパティは無効になり、プロットはラインごとに 1 つのラベルを表示します。

出力引数

すべて折りたたむ

等高線行列。次の形式の 2 行の行列として返されます。

Z1, x1,1, x1,2, ..., x1,N1, Z2, x2,1, x2,2, ..., x2,N2, Z3, ...
N1, y1,1, y1,2, ..., y1,N1, N2, y2,1, y2,2, ..., y2,N2, N3, ...

この行列の各列は等高線を定義します。各等高線は Z 値と N 値を含む列で始まります。

  • Zi — i 番目の等高線の高さ

  • Ni — i 番目の等高線の頂点の数

  • (xij, yij) — i 番目の等高線の頂点の座標 (j は 1 ~ Ni の範囲)

Contour オブジェクト。等高線図が表示された後にプロパティを設定するには、このオブジェクトを使用します。

拡張機能

バージョン履歴

R2006a より前に導入