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

説明
surf(
は、現在の座標軸ではなく、ax
,___)ax
で指定される座標軸にプロットします。座標軸を最初の入力引数として指定します。
surf(___,
は、1 つ以上の名前と値のペアの引数を使用して、表面のプロパティを指定します。たとえば、Name,Value
)'FaceAlpha',0.5
は半透明な表面を作成します。
s = surf(___)
は chart surface オブジェクトを返します。表面を作成した後で変更を加えるには、s
を使用します。プロパティの一覧については、Surface のプロパティ を参照してください。
例
同じサイズの 3 つの行列を作成します。次に、それらを表面としてプロットします。表面プロットでは、高さと色の両方に Z
が使用されます。
[X,Y] = meshgrid(1:0.5:10,1:20); Z = sin(X) + cos(Y); surf(X,Y,Z)
4 番目の行列入力 C
を使用して、表面プロットの色を指定します。表面プロットでは、高さに Z
、色に C
が使用されます。"カラーマップ" を使用して色を指定します。カラーマップは、単一の数値を使用してスペクトル上の色を表します。カラーマップを使用する場合、C
は Z
と同じサイズです。カラー バーをグラフに追加して、C
のデータ値がカラーマップの色にどのように対応するかを示します。
[X,Y] = meshgrid(1:0.5:10,1:20); Z = sin(X) + cos(Y); C = X.*Y; surf(X,Y,Z,C) colorbar
4 番目の行列入力 CO
を使用して、表面プロットの色を指定します。表面プロットでは、高さに Z
、色に CO
が使用されます。"トゥルーカラー" を使用して色を指定します。トゥルーカラーは数値の 3 成分を使用して、すべての可能な色を表します。トゥルーカラーを使用するときに Z
が m
行 n
列である場合、CO
は m
×n
×3 です。配列の最初のページは各色の赤の成分を表し、2 番目のページは緑の成分を、3 番目のページは青の成分を表します。
[X,Y,Z] = peaks(25); CO(:,:,1) = zeros(25); % red CO(:,:,2) = ones(25).*linspace(0.5,0.6,25); % green CO(:,:,3) = ones(25).*linspace(0,1,25); % blue surf(X,Y,Z,CO)
名前 FaceAlpha
と値 0.5
のペアを指定して、半透明の表面を作成します。その後の変更を可能にするには、surface オブジェクトを変数 s
に代入します。
[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
s = surf(X,Y,Z,'FaceAlpha',0.5)
s = Surface with properties: EdgeColor: [0 0 0] LineStyle: '-' FaceColor: 'flat' FaceLighting: 'flat' FaceAlpha: 0.5000 XData: [21x21 double] YData: [21x21 double] ZData: [21x21 double] CData: [21x21 double] Use GET to show all properties
surface オブジェクトの作成後にそのプロパティにアクセスし、変更を加えるには、s
を使用します。たとえば、EdgeColor
プロパティを設定することでエッジを非表示にします。
s.EdgeColor = 'none';
入力引数
x 座標。Z
と同じサイズの行列、または長さが n
のベクトル ([m,n] = size(Z)
) として指定します。X
と Y
の値を指定しない場合、surf
はベクトル (1:n)
とベクトル (1:m)
を使用します。
行列 X
と行列 Y
を作成するには、関数 meshgrid
を使用できます。
Surface
オブジェクトの 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
| datetime
| duration
y 座標。Z
と同じサイズの行列、または長さ m
のベクトルとして指定します。ここで、[m,n] = size(Z)
です。X
と Y
の値を指定しない場合、surf
はベクトル (1:n)
とベクトル (1:m)
を使用します。
行列 X
と行列 Y
を作成するには、関数 meshgrid
を使用できます。
surface オブジェクトの 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
| datetime
| duration
z 座標。行列として指定します。Z
は少なくとも 2 行 2 列でなければなりません。
Z
は、各 x-y 座標での表面プロットの高さを指定します。色を指定しない場合、Z
は表面の色も指定します。
surface オブジェクトの 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
| datetime
| duration
色配列。m
行 n
列のカラーマップ インデックスの行列、または m
×n
×3
の RGB 3 成分の配列として指定します。ここで、Z
は m
行 n
列です。
カラーマップの色を使用するには、
C
を行列として指定します。表面の各グリッド点について、C
はカラーマップ内の色を示します。surface オブジェクトのCDataMapping
プロパティは、C
の値がカラーマップの色にどのように対応するかを制御します。トゥルーカラーの色を使用するには、
C
を RGB 3 成分の配列として指定します。
詳細については、カラーマップとトゥルーカラーの違いを参照してください。
surface オブジェクトの CData
プロパティには色配列が保存されます。表面のカラーリングをさらに制御するには、FaceColor
プロパティと EdgeColor
プロパティを使用します。
プロット対象の座標軸。axes
オブジェクトとして指定します。座標軸を指定しない場合、surf
は現在の座標軸にプロットします。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: surf(X,Y,Z,'FaceAlpha',0.5,'EdgeColor','none')
は、エッジが描画されない半透明の表面を作成します。
メモ
ここには一部のプロパティのみを示します。完全な一覧については、Surface のプロパティ を参照してください。
エッジのラインの色。次のいずれかの値として指定します。既定の色は [0 0 0]
で、これは黒色のエッジに対応します。
値 | 説明 |
---|---|
'none' | エッジを描画しません。 |
'flat' |
|
'interp' |
|
RGB 3 成分、16 進数カラー コード、色名 | 指定した色をすべてのエッジに使用します。このオプションは
|
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" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
MATLAB® の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。
RGB 3 成分 | 16 進数カラー コード | 外観 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
ライン スタイル。次の表にリストされたオプションのいずれかとして指定します。
ライン スタイル | 説明 | 結果として得られる線 |
---|---|---|
"-" | 実線 |
|
"--" | 破線 |
|
":" | 点線 |
|
"-." | 一点鎖線 |
|
"none" | ラインなし | ラインなし |
面の色。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'flat' |
|
'interp' |
|
RGB 3 成分、16 進数カラー コード、色名 | 指定した色をすべての面で使用します。このオプションは
|
'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" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。
RGB 3 成分 | 16 進数カラー コード | 外観 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
面の透明度。次の値のいずれかとして指定します。
範囲
[0,1]
のスカラー — すべての面に一様な透明度を使用します。値1
は完全に不透明で、値0
は完全に透明です。0
と1
の間の値は半透明です。このオプションはAlphaData
プロパティの透明度値を使用しません。'flat'
—AlphaData
プロパティの値に基づいて面ごとに異なる透明度を使用します。面全体の透明度は、最初の頂点の透明度値によって決まります。まずAlphaData
プロパティをZData
プロパティと同じサイズの行列として指定しなければなりません。FaceColor
プロパティも、'flat'
に設定しなければなりません。'interp'
—AlphaData
プロパティの値に基づいて面ごとに内挿された透明度を使用します。頂点の値を内挿することにより、各面に異なる透明度が使用されます。まずAlphaData
プロパティをZData
プロパティと同じサイズの行列として指定しなければなりません。FaceColor
プロパティも、'interp'
に設定しなければなりません。'texturemap'
—AlphaData
のデータを表面に適合するように変換します。
面に対する light オブジェクトの効果。次の値のいずれかとして指定します。
'flat'
— 各面にライトを一様に適用します。この値は小平面で構成されたオブジェクトを表示する場合に使用します。'gouraud'
— 面のライトを変化させます。各頂点のライトを計算し、面上でライトを線形内挿します。この値は曲面を表示する場合に使用します。'none'
— light オブジェクトのライトを面に適用しません。
light オブジェクトを座標軸に追加するには、関数 light
を使用します。
メモ
値 'phong'
は削除されました。代わりに 'gouraud'
を使用してください。
拡張機能
surf
関数は GPU 配列入力をサポートしますが、次の使用上の注意および制限があります。
この関数は GPU 配列を受け入れますが、GPU 上では実行されません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
使用上の注意および制限:
この関数は分散配列に対して演算を行いますが、クライアントの MATLAB で実行されます。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入
参考
関数
プロパティ
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)