このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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] Use GET to 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'};
入力引数
プロット対象の関数。名前付き関数または無名関数の関数ハンドルとして指定します。
z = f(x,y)
の形式の関数を指定します。関数は 2 つの行列の入力引数を受け入れ、同じサイズの行列の出力引数を 1 つ返さなければなりません。最高のパフォーマンスを得るには、行列演算子ではなく、配列演算子を使用します。たとえば、* (mtimes
) ではなく .*
(times
) を使用します。
例: f = @(x,y) sin(x) + cos(y);
x
および y
のプロット区間。次のいずれかの形式で指定します。
[min max]
形式のベクトル —x
およびy
の両方に区間[min max]
を使用します。[xmin xmax ymin ymax]
形式のベクトル —x
に区間[xmin xmax]
、y
に区間[ymin ymax]
を使用します。
axes オブジェクト。axes オブジェクトを指定しない場合、fcontour
は現在の座標軸を使用します。
ラインのスタイルと色。ライン スタイル指定子、カラー指定子、またはその両方を含む文字ベクトルまたは string として指定します。
例: '--r'
は赤の破線を指定します。
以下の 2 つの表に、ラインのスタイルと色のオプションを示します。
ライン スタイル指定子 | 説明 |
---|---|
- | 実線 (既定) |
-- | 破線 |
: | 点線 |
-. | 一点鎖線 |
カラー指定子 | 説明 |
---|---|
| 黄 |
| マゼンタ |
| シアン |
| 赤 |
| 緑 |
| 青 |
| 白 |
| 黒 |
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: 'MeshDensity',30
ここでは、プロパティの一部だけを紹介しています。完全な一覧については、FunctionContour のプロパティ を参照してください。
方向ごとの評価点の数。数値として指定します。既定値は 71
です。fcontour
では適応評価を使用するため、評価点の実際の数はそれより多くなります。
例: 30
等高線間の塗りつぶし。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
'on'
の値は、等高線の間を色で塗りつぶします。'off'
の値は、等高線の間を塗りつぶしません。
等高線のレベル。z 値のベクトルとして指定します。既定では、関数 fcontour
は ZData
プロパティの値の範囲に対応する値を選択します。
このプロパティを設定すると、対応するモード プロパティが manual に設定されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
等高線の間隔。スカラー数値として指定します。たとえば、2 ずつインクリメントする等高線を描画するには、2
の値を指定します。既定では、ZData
値を使用して LevelStep
が決定されます。
このプロパティを設定すると、対応するモード プロパティが 'manual'
に設定されます。
例: 3.4
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
等高線の色。'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" |
ライン幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。ラインがマーカーをもつ場合、ライン幅はマーカー エッジにも影響します。
ライン幅をピクセルの幅より細くすることはできません。システムでライン幅をピクセルの幅より細い値に設定すると、ラインは 1 ピクセル幅で表示されます。
出力引数
1 つ以上の FunctionContour
オブジェクト。スカラーまたはベクトルとして返されます。これらのオブジェクトは、特定の等高線図のプロパティのクエリと変更に使用できます。プロパティの一覧については、FunctionContour のプロパティ を参照してください。
バージョン履歴
R2016a で導入
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)