このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
contourf
塗りつぶし 2 次元等高線図
構文
説明
contourf(
は行列 Z
)Z
の等値線を含む塗りつぶし等高線図を作成します。Z
には x-y 平面上の高さの値が含まれます。MATLAB® は表示する等高線を自動的に選択します。Z
の列と行のインデックスは、それぞれ平面の x 座標と y 座標です。
contourf(___,
は、前述の任意の構文における最後の引数として、表示する等高線を指定します。スカラー値 levels
)n
として levels
を指定し、自動的に選択されたレベル (高さ) n
の等高線を表示します。特定の高さの等高線を描画するには、単調増加する値のベクトルとして levels
を指定します。1 つの高さ (k
) の等高線を描画するには、levels
を 2 要素の行ベクトル [k k]
として指定します。
contourf(___,
は、1 つ以上の名前と値のペアの引数を使用して、等高線図の追加のオプションを指定します。オプションは他のすべての入力引数の後に指定します。プロパティの一覧については、Contour のプロパティ を参照してください。Name,Value
)
contourf(
は、ターゲット座標軸に等高線図を表示します。前述の任意の構文で、最初の引数として座標軸を指定します。ax
,___)
は、各レベルの頂点の (x, y) 座標を含む等高線行列 M
= contourf(___)M
を返します。
例
関数 peaks の等高線
Z
を 2 変数関数として定義します。この例では、関数 peaks
を呼び出して Z
を作成します。その後、Z
の塗りつぶし等高線図を表示して、等高線のレベルを MATLAB® に選択させます。
Z = peaks; contourf(Z)
10 レベルの等高線
Z
を 2 変数 X
と Y
の関数として定義します。その後、Z
の 10 レベルの等高線を表示します。
x = linspace(-2*pi,2*pi); y = linspace(0,4*pi); [X,Y] = meshgrid(x,y); Z = sin(X) + cos(Y); contourf(X,Y,Z,10)
ラベル付きの特定レベルの等高線
Z
を X
と Y
の関数として定義します。この例では、関数 peaks
を呼び出して X
、Y
、Z
を作成します。その後、レベル 2
およびレベル 3
の等高線を表示します。
白の領域は、2
未満の高さに対応します。紫の領域は、2
と 3
の間の高さに対応します。さらに黄の領域は、3
を超える高さに対応します。
[X,Y,Z] = peaks(50); contourf(X,Y,Z,[2 3],'ShowText','on')
特定の小数点以下の桁数と単位を表示するラベル
R2022b 以降
小数点以下 1 桁の後に文字 m
が続くラベルを表示する、等高線図を作成します。FaceAlpha
プロパティを 0.25
に設定して、一部透明な塗りつぶし色を指定します。
contourf(peaks,[-4 0 2],"ShowText",true,"LabelFormat","%0.1f m", ... "FaceAlpha",0.25)
複数の単位によるラベル
R2022b 以降
値の計算が必要な場合に、ラベル形式を設定する関数を指定できます。たとえば、複数の単位でラベル値を計算する関数を定義できます。
次の関数を、mylabelfun.m
というプログラム ファイルで定義します。この関数は入力をメートルからフィートに変換し、メートル単位の各値と、かっこで囲んだフィート単位での等価値を含む string ベクトルを返します。
function labels = mylabelfun(vals) feetPerMeter = 3.28084; feet = round(vals.*feetPerMeter); labels = vals + " m (" + feet + " ft)"; labels(vals == 0) = "0 m"; end
次に、等高線図を作成し、LabelFormat
プロパティを mylabelfun
のハンドルとして指定します。FaceAlpha
の値を 0.25
に設定して、一部透明な塗りつぶし色を指定します。
contourf(peaks,[-4 0 2],"ShowText",true,"LabelFormat",@mylabelfun, ... "FaceAlpha",0.25)
1 レベルの等高線
Z
を X
と Y
の関数として定義します。この例では、関数 peaks
を呼び出して X
、Y
、Z
を作成します。その後、Z = 2
の等高線を表示します。
[X,Y,Z] = peaks; contourf(X,Y,Z,[2 2])
破線の等高線
カスタム ライン幅
塗りつぶし等高線図を作成します。LineWidth
プロパティを 3
に設定して、等高線を太くします。
Z = peaks; [M,c] = contourf(Z); c.LineWidth = 3;
不連続な表面上の等高線
表面の不連続な位置に NaN
値を挿入します。関数 contourf
はこれらの領域に等高線を描画しません。
行列 Z
を関数 peaks
のサンプリングとして定義します。列 26
のすべての値を NaN
値に置き換えます。その後、変更した Z
行列で等高線をプロットします。
Z = peaks; Z(:,26) = NaN; contourf(Z)
入力引数
X
— x 座標
行列 | ベクトル
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
— y 座標
行列 | ベクトル
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
— z 座標
行列
z 座標。行列として指定します。この行列には、少なくとも 2 行と 2 列がなければならず、少なくとも 2 つの異なる値が含まれなければなりません。
例: Z = peaks(20)
Contour
オブジェクトの ZData
プロパティに z 座標が格納されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
levels
— レベル
スカラー | ベクトル
等高線のレベル。0 または正の整数のスカラー、あるいはベクトルとして指定します。この引数を使用して等高線の数と位置を制御します。レベルを指定しない場合、関数 contourf
はレベルを自動的に選択します。
自動的に選択された n 個の高さに等高線を描画するには、
levels
をスカラー値 n として指定します。特定の高さの等高線を描画するには、単調増加する値のベクトルとして
levels
を指定します。単一の高さ
k
に等高線を描画するには、levels
を 2 要素の行ベクトル[k k]
として指定します。
関数 contourf
は、現在のカラーマップを使用して、プロットのレベル間の空白を塗りつぶします。最初の色は、最低レベルと次に高いレベルとの間の空白を塗りつぶします。最後の色は、プロットの最高レベルより大きい Z
値に対応します。プロットに表示される最低レベルよりも小さい値が Z
に含まれる場合、最低レベルと Z
の最小値との間の領域は白になります。
例: contourf(peaks,10)
は、関数 peaks
の自動的に選択された 10 個の高さに等高線を描画します。
例: contourf(peaks,[-4 0 4])
は、関数 peaks
の特定の 3 つの高さ -4
、0
、および 4
に等高線を描画します。
例: contourf(peaks,[3 3])
は、関数 peaks
の高さが 3
の位置を示す等高線を描画します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
LineSpec
— ラインのスタイルと色
文字ベクトル | string スカラー
ラインのスタイルと色。文字と記号を含む文字ベクトルまたは string スカラーとして指定します。文字と記号の順番は任意です。ライン スタイル、ラインの色、またはその両方を指定できます。'o'
などのマーカー記号は無視されます。
例: '--g'
は緑色の破線です。
ライン スタイル | 説明 | 結果として得られる線 |
---|---|---|
"-" | 実線 |
|
"--" | 破線 |
|
":" | 点線 |
|
"-." | 一点鎖線 |
|
色名 | 省略名 | 外観 |
---|---|---|
'red' | 'r' | |
'green' | 'g' | |
'blue' | 'b' | |
'cyan' | 'c' | |
'magenta' | 'm' | |
'yellow' | 'y' | |
'black' | 'k' | |
'white' | 'w' | |
ax
— ターゲット座標軸
Axes
オブジェクト
ターゲット座標軸。Axes
オブジェクトとして指定します。座標軸を指定しない場合、contourf
は現在の座標軸にプロットします。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: contourf(Z,'ShowText','on')
は、等高線のラベルを表示します。
メモ
ここでは、プロパティの一部だけを紹介しています。完全な一覧については、Contour のプロパティ を参照してください。
ShowText
— 等高線のラベル
'off'
(既定値) | on/off logical 値
等高線のラベル。'on'
または 'off'
もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
'on'
— 等高線に沿って高さの値を表示します。'off'
— 等高線にラベルを付けません。
LineWidth
— ライン幅
0.5
(既定値) | 正の値
等高線の幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。
LabelSpacing
— ラベルの間隔
144
(既定値) | スカラー
等高線に沿ったラベルの間隔。ポイント単位のスカラー値として指定します。1 ポイントは 1/72 インチです。このプロパティを使用して、等高線に沿った等高線のラベル数を制御します。値が小さいほどラベル数が多くなります。
LabelSpacing
プロパティを有効にするには、ShowText
プロパティを 'on'
に設定しなければなりません。
関数 clabel
を使用してラベルを表示する場合、LabelSpacing
プロパティは無効になり、プロットはラインごとに 1 つのラベルを表示します。
出力引数
M
— 等高線行列
行列
等高線行列。次の形式の 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 の範囲)
c
— contour オブジェクト
Contour
オブジェクト
Contour
オブジェクト。等高線図が表示された後にプロパティを設定するには、このオブジェクトを使用します。
拡張機能
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
この関数は GPU 配列を受け入れますが、GPU 上では実行されません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
使用上の注意事項および制限事項:
この関数は分散配列に対して演算を行いますが、クライアントの MATLAB で実行されます。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)