matplotlib.pyplot.contour #

matplotlib.pyplot. 等高線( *引数,データ=なし, ** kwargs ) [ソース] #

等高線をプロットします。

呼び出し署名:

contour([X, Y,] Z, [levels], **kwargs)

contour等高線とcontourf塗りつぶし等高線をそれぞれ描画します。特に明記されていない限り、関数のシグネチャと戻り値は両方のバージョンで同じです。

パラメータ:
X、Y配列のような、オプション

Zの値の座標。

XYは両方ともZと同じ形状の 2D である必要があります(たとえば、 で作成されます)。または、どちらもZの列数と Zの行数でnumpy.meshgridある 1-D でなければなりません。len(X) == Nlen(Y) == M

XYはどちらも単調に並べる必要があります。

指定されていない場合は、整数インデックス、つまり と見なされ ます。X = range(N)Y = range(M)

Z (M, N) 配列のような

等高線が描画される高さの値。カラーマッピングは、cmapnormvmin、およびvmaxによって制御されます。

level int または array-like、オプション

等高線/領域の数と位置を決定します。

int nの場合、 を使用します。これは、 vminvmaxの間でn+1MaxNLocatorを超えない「適切な」等高線レベルを自動的に選択しようとします。

配列状の場合、指定されたレベルで等高線を描画します。値は昇順でなければなりません。

戻り値:
QuadContourSet
その他のパラメータ:
corner_mask bool、デフォルト: rcParams["contour.corner_mask"](デフォルト: True)

Zがマスクされた配列の場合にのみ有効なコーナー マスキングを有効/無効にします。の場合False、マスクされたポイントに接触しているすべてのクワッドがマスク アウトされます。の場合True、それらのポイントに最も近い四角形の三角形のコーナーのみが常にマスクされ、マスクされていない 3 つのポイントを含む他の三角形のコーナーは通常どおり輪郭が描かれます。

色の文字列または色のシーケンス、オプション

レベルの色、つまり の線contourと の領域contourf

シーケンスはレベルごとに昇順で繰り返されます。シーケンスがレベル​​数より短い場合は、繰り返されます。

ショートカットとして、単一の色の文字列を 1 つの要素のリストの代わりに使用できます。つまり、すべてのレベルを同じ色で色付けする'red'代わりに使用できます。['red']このショートカットは、色を指定する他の方法ではなく、色の文字列に対してのみ機能します。

デフォルト (値None ) では、cmapで指定されたカラーマップ が使用されます。

アルファフロート、デフォルト: 1

0 (透明) から 1 (不透明) までのアルファ ブレンディング値。

cmap str またはColormap、デフォルト: rcParams["image.cmap"](デフォルト: 'viridis')

スカラー データを色にマップするために使用される Colormap インスタンスまたは登録済みのカラーマップ名。

が設定されている場合、このパラメーターは無視されます。

ノルムstr またはNormalize、オプション

cmapを使用して色にマッピングする前に、スカラー データを [0, 1] の範囲にスケーリングするために使用される正規化方法。デフォルトでは、線形スケーリングが使用され、最小値が 0 に、最大値が 1 にマッピングされます。

指定する場合、これは次のいずれかになります。

  • のインスタンスNormalizeまたはそのサブクラスの 1 つ ( Colormap Normalizationを参照)。

  • スケール名。つまり、「linear」、「log」、「symlog」、「logit」などのいずれかです。使用可能なスケールのリストについては、 を呼び出しますmatplotlib.scale.get_scale_names()。その場合、適切なNormalizeサブクラスが動的に生成され、インスタンス化されます。

が設定されている場合、このパラメーターは無視されます。

vmin、vmax float、オプション

スカラー データを使用し、明示的なnormを使用しない場合、vminvmaxはカラーマップがカバーするデータ範囲を定義します。デフォルトでは、カラーマップは提供されたデータの値の範囲全体をカバーします。ノルムインスタンスが指定されているときにvmin / vmaxを使用するとエラーになります (ただし、 vmin / vmaxと 一緒にノルム名を使用することは許容されます)。str

vminまたはvmaxが指定されていない場合、デフォルトのカラー スケーリングはレベルに基づいてい ます。

が設定されている場合、このパラメーターは無視されます。

origin {なし, 'upper', 'lower', 'image'}, デフォルト: なし

の位置を指定して、Zの方向と正確な位置を決定します。これは、 XYが指定されていない場合にのみ関係し ます。Z[0, 0]

  • なし:左下隅の X=0、Y=0 にあります。Z[0, 0]

  • 「lower」:左下隅の X=0.5、Y=0.5 にあります。Z[0, 0]

  • 'upper':左上隅の X=N+0.5、Y=0.5 にあります。Z[0, 0]

  • 'image': からの値を使用しますrcParams["image.origin"](既定値: 'upper')。

範囲(x0、x1、y0、y1)、オプション

originNoneでない場合、範囲は のように解釈され imshowます: 外側のピクセル境界を示します。この場合、Z[0, 0] の位置はピクセルの中心であり、コーナーではありません。originNoneの場合 、( x0 , y0 ) は Z[0, 0] の位置、( x1 , y1 ) は Z[-1, -1] の位置です。

この引数は、contour の呼び出しでXYが指定されている場合は無視されます。

locator ticker.Locator サブクラス、オプション

等高線レベルがレベルで明示的に指定されていない場合、ロケータを使用して等高線レベルを決定します。デフォルトはMaxNLocatorです。

拡張{'どちらでもない', '両方', '最小', '最大'}, デフォルト: 'どちらでもない'

レベル範囲contourf外の値の色付けを 決定します。

「どちらでもない」場合、レベル範囲外の値は色付けされません。'min'、'max'、または 'both' の場合、レベル範囲の下、上、または下と上の値に色を付けます。

上下の値はmin(levels)、 の上下の値max(levels)にマッピングされますColormap。ほとんどのカラーマップにはデフォルトで専用の色がないことに注意してください。そのため、オーバー値とアンダー値はカラーマップのエッジ値になります。Colormap.set_underおよびを使用して、これらの値を明示的に設定することができます Colormap.set_over

ノート

QuadContourSetカラーマップのプロパティが変更された場合、既存のは通知されません。したがって、カラーマップを変更した後、明示的な呼び出しQuadContourSet.changed()が必要です。QuadContourSet内部で を呼び出すため 、カラーバーが に割り当てられている場合は、明示的な呼び出しを省略することができますQuadContourSet.changed()

例:

x = np.arange(1, 10)
y = x.reshape(-1, 1)
h = x * y

cs = plt.contourf(h, levels=[10, 30, 50],
    colors=['#808080', '#A0A0A0', '#C0C0C0'], extend='both')
cs.cmap.set_over('red')
cs.cmap.set_under('blue')
cs.changed()
xunits、yunits登録単位、オプション

のインスタンスを指定して、軸の単位をオーバーライドします matplotlib.units.ConversionInterface

アンチエイリアスブール値、オプション

アンチエイリアシングを有効にして、デフォルトをオーバーライドします。塗りつぶされた等高線の場合、デフォルトはTrueです。線の輪郭の場合はrcParams["lines.antialiased"](デフォルト: True) から取得されます。

チャンクint >= 0、オプション

0 の場合、ドメインの分割はありません。チャンククワッドごとにドメインをチャンクのサブドメインに分割するには、正の整数を指定します。チャンキングは、コンタリング アルゴリズムによって生成されるポリゴンの最大長を減らします。これにより、バックエンドに渡されるレンダリング ワークロードが削減され、必要な RAM もわずかに少なくなります。ただし、バックエンド、アンチエイリアスフラグ、およびalphaの値によっては、チャンク境界でレンダリング アーティファクトが発生する可能性があります。

linewidths float または array-like、デフォルト: rcParams["contour.linewidth"](デフォルト: None)

にのみ適用され contourます。

等高線の線幅。

数値の場合、すべてのレベルがこの線幅でプロットされます。

シーケンスの場合、昇順のレベルが、指定された順序の線幅でプロットされます。

rcParams["lines.linewidth"]None の場合、これは(デフォルト: 1.5)にフォールバックします。

linestyles { None , 'solid', 'dashed', 'dashdot', 'dotted'}, オプション

にのみ適用され contourます。

linestylesNoneの場合、線がモノクロでない限り、デフォルトは 'solid' です。その場合、負の等高線は代わりに、negative_linestyles引数から線種を取得します。

linestylesは、使用する線種のセットを指定する上記の文字列の iterable にすることもできます。この iterable が輪郭レベルの数よりも短い場合、必要に応じて繰り返されます。

negative_linestyles {なし, 'solid', 'dashed', 'dashdot', 'dotted'}, オプション

にのみ適用され contourます。

linestylesNoneで線がモノクロの場合、この引数は負の等高線の線スタイルを指定します。

negative_linestylesNoneの場合、デフォルトは から取得され rcParams["contour.negative_linestyles"]ます。

また、 negative_linestylesは、使用する線種のセットを指定する上記の文字列の iterable にすることもできます。この iterable が輪郭レベルの数よりも短い場合、必要に応じて繰り返されます。

ハッチリスト[文字列]、オプション

にのみ適用され contourfます。

塗りつぶされた領域で使用するクロス ハッチング パターンのリスト。None の場合、輪郭にハッチングは追加されません。ハッチングは、PostScript、PDF、SVG、および Agg バックエンドでのみサポートされています。

アルゴリズム{'mpl2005', 'mpl2014', 'serial', 'threaded'}, オプション

等高線とポリゴンの計算に使用する等高線アルゴリズム。アルゴリズムは ContourPyに実装されています。詳細については ContourPy のドキュメントを参照してください。

デフォルトはrcParams["contour.algorithm"](デフォルト: 'mpl2014') から取得されます。

データのインデックス可能なオブジェクト、オプション

指定された場合、すべてのパラメーターは string も受け入れます。これは(例外が発生しない限り)sと解釈されます。data[s]

ノート

  1. contourfポリゴン エッジを描画しないという点で、MATLAB バージョンとは異なります。エッジを描画するには、 への呼び出しで線の輪郭を追加します contour

  2. contourf上部が閉じている間隔を埋めます。つまり、境界z1およびz2の場合、塗りつぶされた領域は次のようになります。

    z1 < Z <= z2
    

    ただし、両側が閉じている最小区間は除きます (つまり、最小値が含まれます)。

  3. contourマーチング スクエアアルゴリズムをcontourf使用して等高線の位置を計算します。詳細については、 ContourPy のドキュメントを参照してください。

#を使用した例matplotlib.pyplot.contour

インタラクティブ機能

インタラクティブ機能

インタラクティブ機能