Main Content

contourslice

物体スライス平面内に等高線を描画する

  • Draw contours in volume slice planes

説明

contourslice(X,Y,Z,V,xslice,yslice,zslice) はボリューム データ V のスライス内に等高線を描画します。ここで V は等高線の色を決定します。座標データとして XYZ を指定します。次の形式のいずれかを使用して、スライスの位置として xsliceyslicezslice を指定します。

  • 特定の軸と直交する 1 つ以上のスライス平面を描画するには、スカラーまたはベクトルとしてスライス引数を指定します。

  • 表面に沿って単一のスライスを描画するには、表面を定義する行列としてすべてのスライス引数を指定します。

contourslice(V,xslice,yslice,zslice)V の既定の座標データを使用します。V 内の各要素の (x,y,z) 位置は、それぞれ列、行、ページ インデックスに基づきます。

contourslice(___,num) は、各スライスに描画する等高線の数を指定します。このオプションは、前述の構文のすべての入力引数と共に使用できます。

contourslice(___,lvls) は、各スライス内で等高線を描画する位置の値を指定します。

contourslice(___,method) は内挿法を指定します。ここで method'linear''cubic' または 'nearest' にすることができます。

contourslice(ax,___) は、現在の座標軸 (gca) ではなく指定された座標軸にプロットします。

s = contourslice(___) は、作成された Patch オブジェクトを返します。

すべて折りたたむ

ボリューム データを通過する単一のスライス平面を作成し、データ値の等高線を描画します。

flow データセットから行列 XYZ および V を作成します。z = 0 のスライス平面内に V の等高線を描画します。

[X,Y,Z,V] = flow;
zslice = 0;
contourslice(X,Y,Z,V,[],[],zslice)
grid on

Figure contains an axes object. The axes object contains 41 objects of type patch.

ボリューム データを通過する複数のスライス平面を作成します。各スライス平面にデータ値の等高線を描画します。等高線のレベルは MATLAB に選択させます。

Vv=xe-x2-y2-z2 によって定義されるボリューム データの配列として作成します。値 -1.20.8 および 2x 軸と直交する 3 つのスライス平面に等高線を描画します。空の配列を指定することにより、y 軸または z 軸と直交するスライス平面を作成しません。座標軸の表示を 3 次元表示に変更して、グリッド ラインを追加します。

[X,Y,Z] = meshgrid(-2:.2:2);
V = X.*exp(-X.^2-Y.^2-Z.^2);

xslice = [-1.2,0.8,2];   
yslice = [];
zslice = [];
contourslice(X,Y,Z,V,xslice,yslice,zslice)
view(3)
grid on

Figure contains an axes object. The axes object contains 20 objects of type patch.

ボリューム データを通過する複数のスライス平面を作成します。各スライス平面にデータ値の等高線を描画します。等高線を描画するレベルを指定します。次に、カラー バーを追加します。

-1.20.8 および 2x 軸と直交する 3 つのスライス平面に等高線を描画します。-0.2 から 0.4 までのボリューム データに 0.01 の等間隔で等高線を描画します。カラー バーを追加して、データ値がどのように等高線の色にマッピングされているかを表示します。また、座標軸の表示を 3 次元表示に変更して、グリッド ラインを追加します。

[X,Y,Z] = meshgrid(-2:.2:2);
V = X.*exp(-X.^2-Y.^2-Z.^2);
xslice = [-1.2,0.8,2];   
lvls = -0.2:0.01:0.4;

contourslice(X,Y,Z,V,xslice,[],[],lvls)
colorbar
view(3)
grid on

Figure contains an axes object. The axes object contains 63 objects of type patch.

ボリューム データを通過する表面スライスを作成し、ボリューム データの表面に沿って等高線を描画します。描画する等高線のレベル数を指定します。

Vv=xe-x2-y2-z2 によって定義されるボリューム データの配列として作成します。次に、z=x2-y2 によって定義される表面に沿ってボリューム データのスライスを表示します。表面に沿って 20 本の等高線を描画します。座標軸の表示を 3 次元表示に変更して、グリッド ラインを追加します。

[X,Y,Z] = meshgrid(-5:0.2:5);
V = X.*exp(-X.^2-Y.^2-Z.^2);

[xsurf,ysurf] = meshgrid(-2:0.2:2);
zsurf = xsurf.^2-ysurf.^2;
contourslice(X,Y,Z,V,xsurf,ysurf,zsurf,20)
view(3)
grid on

Figure contains an axes object. The axes object contains 20 objects of type patch.

入力引数

すべて折りたたむ

x 軸座標のデータ。ベクトルまたは V と同じサイズの 3 次元配列として指定します。3 次元配列を指定する場合、関数 meshgrid で生成されるものと同様に、単調かつ直交空間でなければなりません

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

y 軸座標のデータ。ベクトルまたは V と同じサイズの 3 次元配列として指定します。3 次元配列を指定する場合、関数 meshgrid で生成されるものと同様に、単調かつ直交空間でなければなりません

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

z 軸座標のデータ。ベクトルまたは V と同じサイズの 3 次元配列として指定します。3 次元配列を指定する場合、関数 meshgrid で生成されるものと同様に、単調かつ直交空間でなければなりません

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

ボリューム データ。3 次元配列として指定します。

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

x 軸のスライス値。次のいずれかの形式で指定します。

  • スカラー — 指定された位置で x 軸に直交するスライス平面を 1 つ描画します。

  • ベクトル — 指定された位置で x 軸に直交するスライス平面を複数描画します。

  • [] — スライス平面は描画しません。

  • 行列 — 平面の代わりに表面に沿ったスライスを描画します。このオプションを使用する場合、yslicezslice も同じサイズの行列でなければなりません。

例: [2 4] は値 2 と 4 で x 軸に直交するスライス平面を描画します。

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

y 軸のスライス値。次のいずれかの形式で指定します。

  • スカラー — 指定された位置で y 軸に直交するスライス平面を 1 つ描画します。

  • ベクトル — 指定された位置で y 軸に直交するスライス平面を複数描画します。

  • [] — スライス平面は描画しません。

  • 行列 — 平面の代わりに表面に沿ったスライスを描画します。このオプションを使用する場合、xslicezslice も同じサイズの行列でなければなりません。

例: [2 4] は値 2 と 4 で y 軸に直交するスライス平面を描画します。

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

z 軸のスライス値。次のいずれかの形式で指定します。

  • スカラー — 指定された位置で z 軸に直交するスライス平面を 1 つ描画します。

  • ベクトル — 指定された位置で z 軸に直交するスライス平面を複数描画します。

  • [] — スライス平面は描画しません。

  • 行列 — 平面の代わりに表面に沿ったスライスを描画します。このオプションを使用する場合、xsliceyslice も同じサイズの行列でなければなりません。

例: [2 4] は値 2 と 4 で z 軸に直交するスライス平面を描画します。

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

各スライスの等高線の数。スカラーとして指定します。

例: 4 は各スライス内に 4 本の等高線を描画します。

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

等高線のレベル。ベクトルとして指定します。各スライスの特定レベルに単一の等高線を描画する場合は、[lvl lvl] の形式でベクトルを指定します。

例: [1 3 5] は各スライス内のレベル 1、3、5 に等高線を描画します。

例: [4 4] は各スライス内のレベル 4 に単一の等高線を描画します。

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

内挿法。次の値のいずれかとして指定します。

  • 'linear' — 対応する各次元で隣接するグリッド点の値の線形内挿。この値はスライスが表面の場合の既定値です。

  • 'cubic' — 対応する各次元で隣接するグリッド点の値の 3 次内挿。

  • 'nearest' — 最も近いグリッド点の値。この値はスライスが平面の場合の既定値です。

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

アルゴリズム

関数 contourslice は、プロットする前に既存のプロットをクリアしません。

拡張機能

バージョン履歴

R2006a より前に導入