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

構文
説明
fcontour(
は、指定された区間にプロットします。f
,xyinterval
)x
と y
の両方で同じ区間を使用するには、[min max]
の形式をもつ 2 要素ベクトルとして xyinterval
を指定します。異なる区間を使用するには、[xmin xmax ymin ymax]
の形式をもつ 4 要素ベクトルを指定します。
fcontour(___,
は、等高線のライン スタイルと色を設定します。たとえば、LineSpec
)'-r'
は赤のラインを指定します。このオプションは、前述した任意の入力引数の組み合わせの後に使用します。
fcontour(___,
は、1 つ以上の名前と値のペアの引数を使用して、ラインのプロパティを指定します。Name,Value
)
fcontour(
は、現在の座標軸ではなく、ax
,___)ax
で指定される座標軸にプロットします。
は fc
= fcontour(___)FunctionContour
オブジェクトを返します。特定の FunctionContour
オブジェクトのプロパティについてクエリや変更を行うには、fc
を使用します。プロパティの一覧については、FunctionContour のプロパティ を参照してください。
例
関数の等高線をプロット
プロット区間を指定して区分的な等高線図をプロット
プロット区間を fcontour
の 2 番目の引数として指定します。同じ座標軸上の異なる区間に複数の入力をプロットする場合、すべてのデータが表示されるように軸の範囲が調整されます。この動作により、区分的な入力がプロットできるようになります。
区分的な入力
を にプロットします。
fcontour(@(x,y) erf(x) + cos(y),[-5 0 -5 5]) hold on fcontour(@(x,y) sin(x) + cos(y),[0 5 -5 5]) hold off grid on
ライン スタイルおよびライン幅を変更
複数の等高線図をプロット
hold on
を使用して、 および を同じ座標軸にプロットします。
fcontour(@(x,y) sin(x)+cos(y)) hold on fcontour(@(x,y) x-y) hold off
等高線図を作成後に変更
の等高線をプロットします。その関数 contour オブジェクトを変数に割り当てます。
f = @(x,y) exp(-(x/3).^2-(y/3).^2) + exp(-(x+2).^2-(y+2).^2); fc = fcontour(f)
fc = FunctionContour with properties: Function: @(x,y)exp(-(x/3).^2-(y/3).^2)+exp(-(x+2).^2-(y+2).^2) LineColor: 'flat' LineStyle: '-' LineWidth: 0.5000 Fill: off LevelList: [0.2000 0.4000 0.6000 0.8000 1 1.2000 1.4000] Show all properties
ドット表記を使用して関数 contour オブジェクトのプロパティを設定することにより、ライン幅を 1
に、ライン スタイルを破線に変更します。LevelList
プロパティを設定して、0
および 1
に近い等高線を表示します。カラー バーを追加します。
fc.LineWidth = 1;
fc.LineStyle = '--';
fc.LevelList = [1 0.9 0.8 0.2 0.1];
colorbar
等高線間の領域を塗りつぶす
次の等高線間の領域を塗りつぶして、日暮れのように見えるプロットを作成します。
f = @(x,y) erf((y+2).^3) - exp(-0.65*((x-2).^2+(y-2).^2)); fcontour(f,'Fill','on');
代わりに内挿によるシェーディングを使用する場合は、関数 fsurf
を使用し、その 'EdgeColor'
オプションを 'none'
に設定してから、コマンド view(0,90)
を指定します。
等高線のレベルを指定
'LevelList'
オプションを使用して、fcontour
が等高線を描画する値を設定します。
f = @(x,y) sin(x) + cos(y);
fcontour(f,'LevelList',[-1 0 1])
等高線の解像度を制御
'MeshDensity'
オプションを使用して、等高線の解像度を制御します。'MeshDensity'
を大きくするとより滑らかで正確なプロットが得られますが、この値を小さくするとプロットの速度が上がります。
2 行 1 列のタイル表示チャート レイアウトで 2 つのプロットを作成します。最初のプロットで、 の等高線を表示します。四角形の頂点が一致しません。この問題を修正するために、2 番目のプロットでは 'MeshDensity'
を 200
に増やします。これで頂点が一致し、'MeshDensity'
を大きくすると解像度が上がることが示されます。
f = @(x,y) sin(x).*sin(y); tiledlayout(2,1) nexttile fcontour(f) title('Default Mesh Density (71)') nexttile fcontour(f,'MeshDensity',200) title('Custom Mesh Density (200)')
タイトルと軸ラベルを追加して目盛りの書式を設定
をプロットします。グリッドラインを表示し、タイトルを追加して、軸ラベルを追加します。
fcontour(@(x,y) x.*sin(y) - y.*cos(x), [-2*pi 2*pi], 'LineWidth', 2); grid on title({'xsin(y) - ycos(x)','-2\pi < x < 2\pi and -2\pi < y < 2\pi'}) xlabel('x') ylabel('y')
axes オブジェクトの XTickLabel
プロパティと XTick
プロパティを設定して、x 軸の目盛り値および対応するラベルを設定します。gca
を使用して axes オブジェクトにアクセスします。同様に、y 軸の目盛り値および対応するラベルを設定します。
ax = gca; ax.XTick = ax.XLim(1):pi/2:ax.XLim(2); ax.XTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0',... '\pi/2','\pi','3\pi/2','2\pi'}; ax.YTick = ax.YLim(1):pi/2:ax.YLim(2); ax.YTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0',... '\pi/2','\pi','3\pi/2','2\pi'};
入力引数
f
— プロット対象の関数
関数ハンドル
プロット対象の関数。名前付き関数または無名関数の関数ハンドルとして指定します。
z = f(x,y)
の形式の関数を指定します。関数は 2 つの行列の入力引数を受け入れ、同じサイズの行列の出力引数を 1 つ返さなければなりません。最高のパフォーマンスを得るには、行列演算子ではなく、配列演算子を使用します。たとえば、* (mtimes
) ではなく .*
(times
) を使用します。
例: f = @(x,y) sin(x) + cos(y);
xyinterval
— x
および y
のプロット区間
[–5 5 -5 5]
(既定値) | [min max]
形式のベクトル | [xmin xmax ymin ymax]
形式のベクトル
x
および y
のプロット区間。次のいずれかの形式で指定します。
[min max]
形式のベクトル —x
およびy
の両方に区間[min max]
を使用します。[xmin xmax ymin ymax]
形式のベクトル —x
に区間[xmin xmax]
、y
に区間[ymin ymax]
を使用します。
ax
— axes オブジェクト
axes オブジェクト
axes オブジェクト。axes オブジェクトを指定しない場合、fcontour
は現在の座標軸を使用します。
LineSpec
— ラインのスタイルと色
文字ベクトル | string
ラインのスタイルと色。ライン スタイル指定子、カラー指定子、またはその両方を含む文字ベクトルまたは string として指定します。
例: '--r'
は赤の破線を指定します。
以下の 2 つの表に、ラインのスタイルと色のオプションを示します。
ライン スタイル指定子 | 説明 |
---|---|
- | 実線 (既定の設定) |
-- | 破線 |
: | 点線 |
-. | 一点鎖線 |
カラー指定子 | 説明 |
---|---|
| 黄 |
| マゼンタ |
| シアン |
| 赤 |
| 緑 |
| 青 |
| 白 |
| 黒 |
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: 'MeshDensity',30
ここでは、プロパティの一部だけを紹介しています。完全な一覧については、FunctionContour のプロパティ を参照してください。
MeshDensity
— 方向ごとの評価点の数
71 (既定値) | 数値
方向ごとの評価点の数。数値として指定します。既定値は 71
です。fcontour
では適応評価を使用するため、評価点の実際の数はそれより多くなります。
例: 30
Fill
— 等高線間の塗りつぶし
'off'
(既定値) | on/off logical 値
等高線間の塗りつぶし。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
'on'
の値は、等高線の間を色で塗りつぶします。'off'
の値は、等高線の間を塗りつぶしません。
LevelList
— 等高線のレベル
z 値のベクトル
等高線のレベル。z 値のベクトルとして指定します。既定では、関数 fcontour
は ZData
プロパティの値の範囲に対応する値を選択します。
このプロパティを設定すると、対応するモード プロパティが manual に設定されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
LevelStep
— 等高線の間隔
0
(既定値) | スカラー数値
等高線の間隔。スカラー数値として指定します。たとえば、2 ずつインクリメントする等高線を描画するには、2
の値を指定します。既定では、ZData
値を使用して LevelStep
が決定されます。
このプロパティを設定すると、対応するモード プロパティが 'manual'
に設定されます。
例: 3.4
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
LineColor
— 等高線の色
'flat'
(既定値) | RGB 3 成分 | 16 進数カラー コード | 'r'
| 'g'
| 'b'
| ...
等高線の色。'flat'
、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。等高線ごとに異なる色を使用するには、'flat'
を指定します。色はラインの等高線値、カラーマップ、カラーマップへのデータ値のスケーリングによって決定されます。色のスケーリングの詳細については、カラーマップの範囲の制御を参照してください。
すべての等高線に同じ色を使用するには、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" | |
"none" | 該当なし | 該当なし | 該当なし | 色なし |
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" |
LineWidth
— ライン幅
0.5
(既定値) | 正の値
ライン幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。ラインがマーカーをもつ場合、ライン幅はマーカー エッジにも影響します。
ライン幅をピクセルの幅より細くすることはできません。システムでライン幅をピクセルの幅より細い値に設定すると、ラインは 1 ピクセル幅で表示されます。
出力引数
fc
— 1 つ以上の FunctionContour
オブジェクト
スカラー | ベクトル
1 つ以上の FunctionContour
オブジェクト。スカラーまたはベクトルとして返されます。これらのオブジェクトは、特定の等高線図のプロパティのクエリと変更に使用できます。プロパティの一覧については、FunctionContour のプロパティ を参照してください。
バージョン履歴
R2016a で導入
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)