Main Content

meshc

メッシュ表面プロットの下の等高線図

  • Contour plot under mesh surface plot

説明

meshc(X,Y,Z) は、下に等高線図をもつメッシュ プロットを作成します。メッシュ プロットとは、色付きの実線のエッジと、色なしの面をもつ 3 次元表面です。この関数は行列 Z の値を、XY で定義される x-y 平面のグリッドの上の高さとしてプロットします。エッジの色は、Z で指定された高さに従って異なります。

meshc(Z) は、メッシュ プロットと等高線図を作成し、Z の要素の列インデックスと行インデックスを x 座標および y 座標として使用します。

meshc(___,C) はエッジの色を指定します。

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

meshc(ax,___) は、現在の座標軸ではなく、ax で指定される座標軸にプロットします。座標軸を最初の入力引数として指定します。

sc = meshc(___) は、chart surface オブジェクトと contour オブジェクトを含むグラフィックス配列を返します。メッシュ プロットと等高線図の作成後にそれらを変更するには、sc を使用します。プロパティの一覧については、Surface のプロパティ および Contour のプロパティ を参照してください。

すべて折りたたむ

同じサイズの 3 つの行列を作成します。次にそれらを、下に等高線図をもつメッシュ プロットとしてプロットします。メッシュ プロットでは、Z を高さと色の両方に使用します。

[X,Y] = meshgrid(-3:.125:3);
Z = peaks(X,Y);
meshc(X,Y,Z)

Figure contains an axes object. The axes object contains 2 objects of type surface, contour.

4 番目の行列入力 C を含めて、メッシュ プロットと等高線図の色を指定します。このプロットでは、Z を高さに、C を色に使用します。"カラーマップ" を使用して色を指定します。カラーマップは、単一の数値を使用してスペクトル上の色を表します。カラーマップを使用する場合、CZ と同じサイズです。カラー バーをグラフに追加して、C のデータ値がカラーマップの色にどのように対応するかを示します。

[X,Y] = meshgrid(-3:.125:3);
Z = peaks(X,Y);
C = X.*Y;
meshc(X,Y,Z,C)
colorbar

Figure contains an axes object. The axes object contains 2 objects of type surface, contour.

下に等高線図をもつメッシュ プロットを作成します。その後の変更を可能にするには、surface オブジェクトと contour オブジェクトを含むグラフィックス配列を変数 sc に代入します。

[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
sc = meshc(X,Y,Z);

Figure contains an axes object. The axes object contains 2 objects of type surface, contour.

メッシュ プロットと等高線図の作成後に、それらのプロパティにアクセスして変更するには、sc にインデックスを付けます。メッシュ プロットは sc(1) として、等高線図は sc(2) としてアクセスできます。たとえば、2 つのプロットのエッジの色を変更するには、EdgeColor プロパティを設定します。

sc(1).EdgeColor = 'r';
sc(2).EdgeColor = 'b';

Figure contains an axes object. The axes object contains 2 objects of type surface, contour.

等高線は、既定では最小の z レベルに表示されますが、ZLocation プロパティを設定することで位置を変更できます。

等高線を最小の z レベルにしたメッシュ プロットとして peaks データセットを表示します。関数 meshc を呼び出すときに戻り引数を指定して、Contour オブジェクトにアクセスできるようにします。

Z = peaks;
sc = meshc(Z);

Figure contains an axes object. The axes object contains 2 objects of type surface, contour.

現在の座標軸を取得し、z 軸の上限を 15 に拡張します。次に、等高線を最大の z レベルに移動します。

ax = gca;
ax.ZLim(2) = 15;
sc(2).ZLocation = 'zmax';

Figure contains an axes object. The axes object contains 2 objects of type surface, contour.

入力引数

すべて折りたたむ

x 座標。Z と同じサイズの行列、または長さが n のベクトル ([m,n] = size(Z)) として指定します。XY の値を指定しない場合、meshc はベクトル (1:n) とベクトル (1:m) を使用します。

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

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

surface オブジェクトと contour オブジェクトの XData プロパティには x 座標が保存されます。

例: X = 1:10

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

例: [X,Y] = meshgrid(-5:0.5:5)

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

y 座標。Z と同じサイズの行列、または長さ m のベクトルとして指定します。ここで、[m,n] = size(Z) です。XY の値を指定しない場合、meshc はベクトル (1:n) とベクトル (1:m) を使用します。

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

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

surface オブジェクトと contour オブジェクトの YData プロパティには y 座標が保存されます。

例: Y = 1:10

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

例: [X,Y] = meshgrid(-5:0.5:5)

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

z 座標。行列として指定します。Z は少なくとも 2 行 2 列でなければなりません。

Z は、各 x-y 座標におけるメッシュ プロットの高さを指定します。色を指定しない場合、Z はメッシュ エッジの色も指定します。

surface オブジェクトと contour オブジェクトの ZData プロパティには z 座標が保存されます。

例: Z = [1 2 3; 4 5 6]

例: Z = sin(x) + cos(y)

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

色配列。mn 列のカラーマップ インデックスの行列、または m x n x 3 の RGB 3 成分の配列として指定します。ここで、Zmn 列です。

  • カラーマップの色を使用するには、C を行列として指定します。メッシュ表面の各グリッド点について、C はカラーマップ内の色を示します。surface オブジェクトの CDataMapping プロパティは、C の値がカラーマップの色にどのように対応するかを制御します。

  • トゥルーカラーの色を使用するには、C を RGB 3 成分の配列として指定します。

詳細については、カラーマップとトゥルーカラーの違いを参照してください。

surface オブジェクトの CData プロパティには色配列が保存されます。表面のカラーリングをさらに制御するには、FaceColor プロパティと EdgeColor プロパティを使用します。

プロット対象の座標軸。axes オブジェクトとして指定します。座標軸を指定しない場合、meshc は現在の座標軸にプロットします。

名前と値の引数

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

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

例: meshc(X,Y,Z,'EdgeColor','red') は赤のラインを使用してメッシュを作成します。

メモ

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

表示するエッジ。'both''row''column' のいずれかとして指定します。

エッジのラインの色。次のいずれかの値として指定します。既定の色は [0 0 0] で、これは黒色のエッジに対応します。

説明
'none'エッジを描画しません。
'flat'

CData プロパティの値に基づいてエッジごとに異なる色を使用します。まず、CData プロパティを ZData と同じサイズの行列として指定しなければなりません。各面の最初の頂点 (正の x 方向と y 方向) のカラー値が、隣接するエッジの色を決定します。この値は EdgeAlpha プロパティが 'interp' に設定されている場合は使用できません。

Sample of a surface with each edge a different color based on sample values in the CData property

'interp'

CData プロパティの値に基づいて、エッジごとに内挿によるカラーリングを使用します。まず、CData プロパティを ZData と同じサイズの行列として指定しなければなりません。頂点でのカラー値を線形内挿することにより、各エッジの端から端に向かって色が変化します。この値は EdgeAlpha プロパティが 'flat' に設定されている場合は使用できません。

Sample of a surface with each edge showing different interpolated coloring based on sample values in the CData property

RGB 3 成分、16 進数カラー コード、色名

指定した色をすべてのエッジに使用します。このオプションは CData プロパティのカラー値を使用しません。

Sample of a surface with all edges shown in red

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。これらの値では大文字小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

MATLAB® の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

面の色。次の表のいずれかの値として指定します。

説明
'flat'

CData プロパティの値に基づいて面ごとに異なる色を使用します。まず、CData プロパティを ZData と同じサイズの行列として指定しなければなりません。各面の最初の頂点 (正の x 方向と y 方向) のカラー値が、面全体の色を決定します。この値は FaceAlpha プロパティが 'interp' に設定されている場合は使用できません。

Sample of a surface with each face a different color based on sample values in the CData property

'interp'

CData プロパティの値に基づいて、面ごとに内挿によるカラーリングを使用します。まず、CData プロパティを ZData と同じサイズの行列として指定しなければなりません。頂点のカラー値を内挿することにより、各面の端から端へと色が変化します。この値は FaceAlpha プロパティが 'flat' に設定されている場合は使用できません。

Sample of a surface with each face showing different interpolated coloring based on sample values in the CData property

RGB 3 成分、16 進数カラー コード、色名

指定した色をすべての面で使用します。このオプションは CData プロパティのカラー値を使用しません。

Sample of a surface with all faces shown in red

'texturemap'CData のカラー データを表面に適合するように変換します。
'none'面を描画しません。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。これらの値では大文字小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

エッジの透明度。次の値のいずれかとして指定します。

  • 範囲 [0,1] のスカラー — すべてのエッジに一様な透明度を使用します。値 1 は完全に不透明で、値 0 は完全に透明です。01 の間の値は半透明です。このオプションは AlphaData プロパティの透明度値を使用しません。

  • 'flat'AlphaData プロパティの値に基づいてエッジごとに異なる透明度を使用します。まず AlphaData プロパティを ZData プロパティと同じサイズの行列として指定しなければなりません。エッジ全体の透明度は、最初の頂点の透明度値によって決まります。EdgeColor プロパティも、'flat' に設定しなければなりません。

  • 'interp'AlphaData プロパティの値に基づいて、エッジごとに内挿した透明度を使用します。まず AlphaData プロパティを ZData プロパティと同じサイズの行列として指定しなければなりません。頂点の値を内挿することにより、各エッジに一様でない透明度が使用されます。EdgeColor プロパティも、'interp' に設定しなければなりません。

ライン スタイル。次の表にリストされたオプションのいずれかとして指定します。

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

Sample of solid line

"--"破線

Sample of dashed line

":"点線

Sample of dotted line

"-."一点鎖線

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

"none"ラインなしラインなし

ライン幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。ラインがマーカーをもつ場合、ライン幅はマーカー エッジにも影響します。

ライン幅をピクセルの幅より細くすることはできません。システムでライン幅をピクセルの幅より細い値に設定すると、ラインは 1 ピクセル幅で表示されます。

ヒント

  • プロットから非表示のラインを削除するには、関数 hidden を使用します。

  • プロット表面のカラー シェーディングを制御するには、関数 shading を使用します。

拡張機能

バージョン履歴

R2006a より前に導入