matplotlib.pyplot.quiver #

matplotlib.pyplot. quiver ( * args , data = None , ** kwargs ) [source] #

矢印の 2D フィールドをプロットします。

呼び出し署名:

quiver([X, Y], U, V, [C], **kwargs)

XYは矢印の位置を定義し、UVは矢印の方向を定義し、 Cはオプションで色を設定します。

矢印の長さ

デフォルト設定では、矢印の長さが適切なサイズに自動調整されます。この動作を変更するには、scaleおよびscale_unitsパラメータを参照してください。

矢印の形

矢印の形状は、widthheadwidthheadlengthheadaxislengthによって決まります。以下の注を参照してください。

矢印のスタイリング

各矢印は、デフォルトのエッジの線幅が 0 の塗りつぶされた多角形によって内部的に表されます。その結果、矢印はヘッドのある線ではなく塗りつぶされた領域であり、それに応じてlinewidthedgecolorfacecolorPolyCollectionなどのプロパティが動作します。

パラメータ:
X、Y 1D または 2D 配列のようなもの、オプション

矢印の位置の x 座標と y 座標。

指定しない場合は、 UVの次元に基づいて一様な整数メッシュ グリッドとして生成されます。

XとYが 1D で、UVが 2D の場合、XYは を使用して 2D に拡張されます。この場合、 andはUおよびV の列と行の次元と一致する必要があります。X, Y = np.meshgrid(X, Y)len(X)len(Y)

U、V 1D または 2D 配列のようなもの

矢印ベクトルの x 方向コンポーネントと y 方向コンポーネント。これらのコンポーネント (データ内または画面空間内) の解釈は、角度によって異なります。

UVは、 XYの矢印の位置の数と一致する同じ数の要素を持たなければなりません。UVはマスクすることができます。UV、およびCのいずれかでマスクされた場所は描画されません。

C 1D または 2D 配列のようなもの、オプション

normおよび cmapによるカラーマッピングによって矢印の色を定義する数値データ。

これは明示的な色をサポートしていません。色を直接設定したい場合は、代わりにcolorを使用してください。Cのサイズは、矢印の位置の数と一致しなければなりません。

角度{'uv', 'xy'} または配列のようなもの、既定値: 'uv'

矢印の角度を決定する方法。

  • 'uv': 画面座標の矢印の方向。矢印がXYデータ座標に基づいていない数量を表す場合に使用します。

    U == Vの場合、プロット上の矢印の方向は、水平軸から反時計回りに 45 度 (右が正) です。

  • 'xy': データ座標の矢印の方向。つまり、矢印は (x, y) から (x+u, y+v) を指します。これは、勾配場をプロットする場合などに使用します。

  • 任意の角度は、水平軸から反時計回りに度単位の値の配列として明示的に指定できます。

    この場合、 UVは矢印の長さを決定するためにのみ使用されます。

注: データ軸を反転すると、対応する矢印のみが反転しangles='xy'ます。

ピボット{'tail', 'mid', 'middle', 'tip'}, デフォルト: 'tail'

XYグリッドに固定されている矢印の部分。この点を中心に矢印が回転します。

「中」は「中」の同義語です。

スケールフロート、オプション

矢印の長さを逆にスケーリングします。

矢印の長さ単位あたりのデータ単位の数。たとえば、プロット幅あたりの m/s。スケール パラメータを小さくすると、矢印が長くなります。デフォルトはなしです。

Noneの場合、ベクトルの平均長とベクトルの数に基づいて、単純な自動スケーリング アルゴリズムが使用されます。矢印の長さの単位は、scale_unitsパラメータによって指定されます。

scale_units {'width', 'height', 'dots', 'inch', 'x', 'y', 'xy'}, オプション

scale kwarg がNoneの場合、矢印の長さの単位。デフォルトはなしです。

たとえば、 scale_unitsが「インチ」、スケールが 2.0、およびの場合、ベクトルの長さは 0.5 インチになります。(u, v) = (1, 0)

scale_unitsが 'width' または 'height' の場合、ベクトルは軸の幅/高さの半分になります

scale_unitsが「x」の場合、ベクトルは x 軸の 0.5 単位になります。x および y と同じ単位を持つ u および v を使用して、xy 平面にベクトルをプロットするには、 を使用します 。angles='xy', scale_units='xy', scale=1

単位{'幅', '高さ', 'ドット', 'インチ', 'x', 'y', 'xy'}, デフォルト: '幅'

矢印のサイズに影響します (長さを除く)。特に、シャフト はこの単位の倍数で測定されます。

サポートされている値は次のとおりです。

  • 'width', 'height': Axes の幅または高さ。

  • 'dots', 'inch': Figure dpi に基づくピクセルまたはインチ。

  • 'x'、'y'、'xy': XYまたは\(\sqrt{X^2 + Y^2}\)データ単位で。

次の表は、これらの値が、ズームおよび Figure のサイズ変更時に表示される矢印のサイズにどのように影響するかをまとめたものです。

単位

ズーム

フィギュアサイズ変更

「x」、「y」、「xy」

矢印サイズスケール

'幅高さ'

矢印サイズスケール

「ドット」、「インチ」

フロート、オプション

矢印単位のシャフト幅。すべての head パラメータはwidthに関連しています。

デフォルトは、上記の単位の選択とベクトルの数によって異なります。典型的な開始値は、プロット幅の約 0.005 倍です。

ヘッド幅フロート、デフォルト: 3

シャフトの倍数としてのヘッド幅。以下の注を参照してください。

headlength float、デフォルト: 5

シャフト幅の倍数としてのヘッドの長さ。以下の注を参照してください。

headaxislength float、デフォルト: 4.5

シャフト幅の倍数としてのシャフト交点でのヘッドの長さ。以下の注を参照してください。

minshaft float、デフォルト: 1

頭の長さの単位で、矢印がスケーリングする長さ。これを 1 未満に設定しないでください。小さな矢印がひどく表示されます。

minlength float、デフォルト: 1

シャフト幅の倍数としての最小長。矢印の長さがこれより短い場合は、代わりにこの直径のドット (六角形) をプロットします。

色または色の順序、オプション

矢印の明示的な色。Cが設定されている場合、は影響しません。

これはfacecolorパラメータと同義です。PolyCollection

戻り値:
Quiver
その他のパラメータ:
データのインデックス可能なオブジェクト、オプション

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

**kwargsPolyCollectionプロパティ、オプション

他のすべてのキーワード引数は次のように渡されPolyCollectionます。

財産

説明

agg_filter

(m, n, 3) float 配列と dpi 値を取り、(m, n, 3) 配列と画像の左下隅からの 2 つのオフセットを返すフィルター関数

alpha

配列状またはスカラーまたはなし

animated

ブール

antialiasedまたは aa またはアンチエイリアス

bool または bool のリスト

array

配列のようなものまたはなし

capstyle

CapStyleまたは {'butt', 'projecting', 'round'}

clim

(vmin: float、vmax: float)

clip_box

Bbox

clip_on

ブール

clip_path

パッチまたは (パス、変換) またはなし

cmap

Colormapまたは str または None

color

色または rgba タプルのリスト

edgecolorまたは ec または edgecolors

色または色のリストまたは「顔」

facecolorまたはfacecolorsまたはfc

色または色のリスト

figure

Figure

gid

hatch

{'/'、'\'、'|'、'-'、'+'、'x'、'o'、'O'、'.'、'*'}

in_layout

ブール

joinstyle

JoinStyleまたは {'miter', 'round', 'bevel'}

label

物体

linestyleまたはダッシュまたはラインスタイルまたはls

str またはタプルまたはそのリスト

linewidthまたは線幅または lw

float または float のリスト

mouseover

ブール

norm

Normalizeまたは str または None

offset_transformまたはtransOffset

わからない

offsets

(N, 2) または (2,) 配列のようなもの

path_effects

AbstractPathEffect

paths

配列ライクのリスト

picker

None または bool または float または callable

pickradius

わからない

rasterized

ブール

sizes

ndarray またはなし

sketch_params

(位取り: float、長さ: float、乱数: float)

snap

ブールまたはなし

transform

Transform

url

urls

str または None のリスト

verts

配列ライクのリスト

verts_and_codes

わからない

visible

ブール

zorder

浮く

こちらもご覧ください

Axes.quiverkey

quiver プロットにキーを追加します。

ノート

矢印の形

以下に示すように、矢印はノードを使用して多角形として描画されます。値 headwidthheadlength、およびheadaxislengthの単位はwidthです。

../../_images/quiver_sizes.svg

デフォルトでは、わずかに後退した矢印が表示されます。他の頭の形を取得する方法のガイドラインを次に示します。

  • 頭を三角形にするには、 headaxislength をheadlengthと同じにします

  • 矢印をより尖らせるには、 headwidth を減らすheadlengthheadaxislengthを増やします。

  • シャフトに対してヘッドを小さくするには、すべてのヘッド パラメータを比例的に縮小します。

  • ヘッドを完全に削除するには、すべてのヘッドパラメータを 0 に設定します。

  • ひし形の頭部を得るには、 headaxislength をheadlengthよりも大きくします。

  • 警告: headaxislength < ( headlength / headwidth ) の場合、「headaxis」ノード (つまり、ヘッドとシャフトを接続するノード) がヘッドから前方に突き出て、矢印の先端が壊れているように見えます。