Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

contour3

説明

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. The axes 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. The axes contains an object of type contour.

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

contour3(X,Y,Z,50)

Figure contains an axes. The axes 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. The axes 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. The axes 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. The axes 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' などのマーカー記号は無視されます。

ライン スタイルと色の両方を指定する必要はありません。たとえば、ライン スタイルを省略して色を指定した場合、プロットは指定した色を使用して実線を表示します。

ライン スタイル説明結果として得られる線
-実線 (既定の設定)

--破線

:点線

-.一点鎖線

使用可能な色のオプションは次の表にまとめられています。

オプション説明等価の RGB 3 成分
'red' または 'r'[1 0 0]
'green' または 'g'[0 1 0]
'blue' または 'b'[0 0 1]
'yellow' または 'y'[1 1 0]
'magenta' または 'm'マゼンタ[1 0 1]
'cyan' または 'c'シアン[0 1 1]
'white' または 'w'[1 1 1]
'black' または 'k'[0 0 0]

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

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: 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 行の行列として返されます。この行列には、等高線のレベル (高さ) と各レベルの頂点の座標が含まれます。データは、n 本の等高線の場合、n セットの列に順番に配置されます。

  • 各セットの 1 番目の列には、等高線のレベルとそのレベルの頂点数が含まれます。上の行の数値は等高線のレベルで、下の行の数値は頂点の数です。

  • セット内の後続の列は頂点の座標 (x, y) です。各列は順序対を表します。上の行の数値は x 座標で、下の行の数値は y 座標です。

たとえば、等高線行列 M = contour(peaks(3)) の最初のいくつかの列は次のようになります。

Contour オブジェクトの ContourMatrix プロパティに等高線行列が格納されます。

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

拡張機能

R2006a より前に導入