matplotlib.patches.FancyArrowPatch#

class matplotlib.patches.FancyArrowPatch(posA=None, posB=None, *, path=None, arrowstyle='simple', connectionstyle='arc3', patchA=None, patchB=None, shrinkA=2, shrinkB=2, mutation_scale=1, mutation_aspect=1, **kwargs)[Quelle]#

Bases: Patch

Ein schickes Pfeil-Patch.

Es zeichnet einen Pfeil unter Verwendung von ArrowStyle. Es wird hauptsächlich von der Methode annotate verwendet. Für die meisten Zwecke sollten Sie die Methode annotate zum Zeichnen von Pfeilen verwenden.

Die Kopf- und Schwanzpositionen sind an den angegebenen Start- und Endpunkten des Pfeils fixiert, aber die Größe und Form (in Anzeigekoordinaten) des Pfeils ändert sich nicht, wenn die Achse bewegt oder gezoomt wird.

Definieren der Pfeilposition und des Pfades

Es gibt zwei Möglichkeiten, die Pfeilposition und den Pfad zu definieren

  • Start, Ende und Verbindung: Der typische Ansatz ist, den Start- und Endpunkt des Pfeils mit posA und posB zu definieren. Die Kurve dazwischen kann mit connectionstyle weiter konfiguriert werden.

    Wenn angegeben, wird die Pfeilkurve durch patchA und patchB beschnitten, wodurch sie am Rand dieser Patches beginnen/enden kann. Zusätzlich kann die Pfeilkurve durch shrinkA und shrinkB verkürzt werden, um einen Rand zwischen Start/Ende (nach möglichem Beschneiden) und dem gezeichneten Pfeil zu schaffen.

  • Pfad: Alternativ, wenn path bereitgestellt wird, wird ein Pfeil entlang dieses Pfades gezeichnet. In diesem Fall werden connectionstyle, patchA, patchB, shrinkA und shrinkB ignoriert.

Styling

Der arrowstyle definiert das Styling von Pfeilkopf, -schwanz und -schaft. Die resultierenden Pfeile können weiter gestylt werden, indem die Patch-Eigenschaften wie linewidth, color, facecolor, edgecolor usw. über Schlüsselwortargumente gesetzt werden.

Parameter:
posA, posB(float, float), optional

(x, y)-Koordinaten von Start- und Endpunkt des Pfeils. Die tatsächlich gezeichneten Start- und Endpositionen können durch patchA, patchB, shrinkA und shrinkB modifiziert werden.

posA, posB sind exklusiv von path.

pathPath, optional

Wenn bereitgestellt, wird ein Pfeil entlang dieses Pfades gezeichnet und patchA, patchB, shrinkA und shrinkB werden ignoriert.

path ist exklusiv von posA, posB.

arrowstylestr oder ArrowStyle, standard: 'simple'

Das Styling von Pfeilkopf, -schwanz und -schaft. Dies kann sein

  • ArrowStyle oder eine seiner Unterklassen

  • Der Kurzname (z. B. "->") wie in der folgenden Tabelle angegeben, optional mit einer durch Kommas getrennten Liste von Stilparametern, z. B. "->, head_length=10, head_width=5".

Die Stilparameter werden mit mutation_scale skaliert.

Die folgenden Pfeilstile sind verfügbar. Siehe auch Referenz für Annotationspfeilstile.

Klasse

Name

Parameter

Curve

-

None

CurveA

<-

head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None

CurveB

->

head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None

CurveAB

<->

head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None

CurveFilledA

<|-

head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None

CurveFilledB

-|>

head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None

CurveFilledAB

<|-|>

head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None

BracketA

]-

widthA=1.0, lengthA=0.2, angleA=0

BracketB

-[

widthB=1.0, lengthB=0.2, angleB=0

BracketAB

]-[

widthA=1.0, lengthA=0.2, angleA=0, widthB=1.0, lengthB=0.2, angleB=0

BarAB

|-|

widthA=1.0, angleA=0, widthB=1.0, angleB=0

BracketCurve

]->

widthA=1.0, lengthA=0.2, angleA=None

CurveBracket

<-[

widthB=1.0, lengthB=0.2, angleB=None

Simple

simple

head_length=0.5, head_width=0.5, tail_width=0.2

Fancy

fancy

head_length=0.4, head_width=0.4, tail_width=0.4

Wedge

wedge

tail_width=0.3, shrink_factor=0.5

Nur die Stile <|-, -|>, <|-|> simple, fancy und wedge enthalten geschlossene Pfade und können gefüllt werden.

connectionstylestr oder ConnectionStyle oder None, optional, standard: 'arc3'

ConnectionStyle, mit dem posA und posB verbunden werden. Dies kann sein

  • ConnectionStyle oder eine seiner Unterklassen

  • Der Kurzname wie in der folgenden Tabelle angegeben, z. B. "arc3".

Klasse

Name

Parameter

Arc3

arc3

rad=0.0

Angle3

angle3

angleA=90, angleB=0

Angle

angle

angleA=90, angleB=0, rad=0.0

Arc

arc

angleA=0, angleB=0, armA=None, armB=None, rad=0.0

Bar

bar

armA=0.0, armB=0.0, fraction=0.3, angle=None

Ignoriert, wenn path angegeben ist.

patchA, patchBPatch, standard: None

Optionale Patches bei posA und posB, respektive. Wenn gegeben, wird der Pfeilpfad von diesen Patches beschnitten, sodass Kopf und Schwanz am Rand der Patches liegen.

Ignoriert, wenn path angegeben ist.

shrinkA, shrinkBfloat, standard: 2

Verkürzen Sie den Pfeilpfad bei posA und posB um diesen Betrag in Punkten. Dies ermöglicht einen Rand zwischen den beabsichtigten Start-/Endpunkten und dem Pfeil.

Ignoriert, wenn path angegeben ist.

mutation_scalefloat, standard: 1

Wert, mit dem Attribute von arrowstyle (z. B. head_length) skaliert werden.

mutation_aspectNone oder float, standard: None

Die Höhe des Rechtecks wird vor der Mutation um diesen Wert gequetscht und das mutierte Rechteck durch die Umkehrung davon gestreckt.

Andere Parameter:
**kwargsPatch Eigenschaften, optional

Hier ist eine Liste der verfügbaren Patch-Eigenschaften

Eigenschaft

Beschreibung

agg_filter

eine Filterfunktion, die ein (m, n, 3) Float-Array und einen dpi-Wert entgegennimmt und ein (m, n, 3) Array und zwei Offsets von der linken unteren Ecke des Bildes zurückgibt

alpha

unknown

animated

bool

antialiased oder aa

bool oder None

capstyle

CapStyle oder {'butt', 'projecting', 'round'}

clip_box

BboxBase oder None

clip_on

bool

clip_path

Patch oder (Path, Transform) oder None

color

color

edgecolor oder ec

Farbe oder None

facecolor oder fc

Farbe oder None

figure

Figure oder SubFigure

füllen

bool

gid

str

Muster (hatch)

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

hatch_linewidth

unknown

in_layout

bool

joinstyle

JoinStyle oder {'miter', 'round', 'bevel'}

label

object

linestyle oder ls

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidth oder lw

float oder None

mouseover

bool

path_effects

Liste von AbstractPathEffect

picker

None oder bool oder float oder callable

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool oder None

transform

Transform

url

str

visible

bool

zorder

float

Im Gegensatz zu anderen Patches sind die Standardwerte für capstyle und joinstyle für FancyArrowPatch auf "round" gesetzt.

draw(renderer)[Quelle]#

Zeichnet den Künstler (und seine Kinder) mit dem gegebenen Renderer.

Dies hat keine Auswirkung, wenn der Künstler nicht sichtbar ist (Artist.get_visible gibt False zurück).

Parameter:
rendererRendererBase Unterklasse.

Anmerkungen

Diese Methode wird in den Künstler-Unterklassen überschrieben.

get_arrowstyle()[Quelle]#

Gibt das arrowstyle-Objekt zurück.

get_connectionstyle()[Quelle]#

Gibt den verwendeten ConnectionStyle zurück.

get_mutation_aspect()[Quelle]#

Gibt das Seitenverhältnis der Bbox-Mutation zurück.

get_mutation_scale()[Quelle]#

Gibt die Mutationsskalierung zurück.

Gibt zurück:
scalar
get_path()[Quelle]#

Gibt den Pfad des Pfeils in den Datenkoordinaten zurück.

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, arrowstyle=<UNSET>, capstyle=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, connectionstyle=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, gid=<UNSET>, hatch=<UNSET>, hatch_linewidth=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, mouseover=<UNSET>, mutation_aspect=<UNSET>, mutation_scale=<UNSET>, patchA=<UNSET>, patchB=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, positions=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[Quelle]#

Setzt mehrere Eigenschaften auf einmal.

Unterstützte Eigenschaften sind

Eigenschaft

Beschreibung

agg_filter

eine Filterfunktion, die ein (m, n, 3) Float-Array und einen dpi-Wert entgegennimmt und ein (m, n, 3) Array und zwei Offsets von der linken unteren Ecke des Bildes zurückgibt

alpha

float oder None

animated

bool

antialiased oder aa

bool oder None

arrowstyle

[ '-' | '<-' | '->' | '<->' | '<|-' | '-|>' | '<|-|>' | ']-' | '-[' | ']-[' | '|-|' | ']->' | '<-[' | 'simple' | 'fancy' | 'wedge' ]

capstyle

CapStyle oder {'butt', 'projecting', 'round'}

clip_box

BboxBase oder None

clip_on

bool

clip_path

Patch oder (Path, Transform) oder None

color

color

connectionstyle

[ 'arc3' | 'angle3' | 'angle' | 'arc' | 'bar' ]

edgecolor oder ec

Farbe oder None

facecolor oder fc

Farbe oder None

figure

Figure oder SubFigure

füllen

bool

gid

str

Muster (hatch)

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

hatch_linewidth

unknown

in_layout

bool

joinstyle

JoinStyle oder {'miter', 'round', 'bevel'}

label

object

linestyle oder ls

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidth oder lw

float oder None

mouseover

bool

mutation_aspect

float

mutation_scale

float

patchA

patches.Patch

patchB

patches.Patch

path_effects

Liste von AbstractPathEffect

picker

None oder bool oder float oder callable

positions

unknown

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool oder None

transform

Transform

url

str

visible

bool

zorder

float

set_arrowstyle(arrowstyle=None, **kwargs)[Quelle]#

Setzt den Pfeilstil, möglicherweise mit weiteren Attributen.

Attribute aus dem vorherigen Pfeilstil werden nicht wiederverwendet.

Ohne Argument (oder mit arrowstyle=None) werden die verfügbaren Box-Stile als menschenlesbare Zeichenkette zurückgegeben.

Parameter:
arrowstylestr oder ArrowStyle

Der Stil des Pfeils: entweder eine ArrowStyle-Instanz oder eine Zeichenkette, die der Stilname und optional durch Kommas getrennte Attribute ist (z. B. "Fancy,head_length=0.2"). Eine solche Zeichenkette wird verwendet, um ein ArrowStyle-Objekt zu erstellen, wie in dieser Klasse dokumentiert.

Die folgenden Pfeilstile sind verfügbar

Klasse

Name

Parameter

Curve

-

None

CurveA

<-

head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None

CurveB

->

head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None

CurveAB

<->

head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None

CurveFilledA

<|-

head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None

CurveFilledB

-|>

head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None

CurveFilledAB

<|-|>

head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None

BracketA

]-

widthA=1.0, lengthA=0.2, angleA=0

BracketB

-[

widthB=1.0, lengthB=0.2, angleB=0

BracketAB

]-[

widthA=1.0, lengthA=0.2, angleA=0, widthB=1.0, lengthB=0.2, angleB=0

BarAB

|-|

widthA=1.0, angleA=0, widthB=1.0, angleB=0

BracketCurve

]->

widthA=1.0, lengthA=0.2, angleA=None

CurveBracket

<-[

widthB=1.0, lengthB=0.2, angleB=None

Simple

simple

head_length=0.5, head_width=0.5, tail_width=0.2

Fancy

fancy

head_length=0.4, head_width=0.4, tail_width=0.4

Wedge

wedge

tail_width=0.3, shrink_factor=0.5

**kwargs

Zusätzliche Attribute für den Pfeilstil. Siehe die obige Tabelle für unterstützte Parameter.

Beispiele

set_arrowstyle("Fancy,head_length=0.2")
set_arrowstyle("fancy", head_length=0.2)
set_connectionstyle(connectionstyle=None, **kwargs)[Quelle]#

Setzt den Verbindungsstil, möglicherweise mit weiteren Attributen.

Attribute aus dem vorherigen Verbindungsstil werden nicht wiederverwendet.

Ohne Argument (oder mit connectionstyle=None) werden die verfügbaren Box-Stile als menschenlesbare Zeichenkette zurückgegeben.

Parameter:
connectionstylestr oder ConnectionStyle

Der Stil der Verbindung: entweder eine ConnectionStyle-Instanz oder eine Zeichenkette, die der Stilname und optional durch Kommas getrennte Attribute ist (z. B. "Arc,armA=30,rad=10"). Eine solche Zeichenkette wird verwendet, um ein ConnectionStyle-Objekt zu erstellen, wie in dieser Klasse dokumentiert.

Die folgenden Verbindungsstile sind verfügbar

Klasse

Name

Parameter

Arc3

arc3

rad=0.0

Angle3

angle3

angleA=90, angleB=0

Angle

angle

angleA=90, angleB=0, rad=0.0

Arc

arc

angleA=0, angleB=0, armA=None, armB=None, rad=0.0

Bar

bar

armA=0.0, armB=0.0, fraction=0.3, angle=None

**kwargs

Zusätzliche Attribute für den Verbindungsstil. Siehe die obige Tabelle für unterstützte Parameter.

Beispiele

set_connectionstyle("Arc,armA=30,rad=10")
set_connectionstyle("arc", armA=30, rad=10)
set_mutation_aspect(aspect)[Quelle]#

Setzt das Seitenverhältnis der Bbox-Mutation.

Parameter:
aspectfloat
set_mutation_scale(scale)[Quelle]#

Setzt die Mutationsskalierung.

Parameter:
scalefloat
set_patchA(patchA)[Quelle]#

Setzt das Schwanz-Patch.

Parameter:
patchApatches.Patch
set_patchB(patchB)[Quelle]#

Setzt das Kopf-Patch.

Parameter:
patchBpatches.Patch
set_positions(posA, posB)[Quelle]#

Setzt die Start- und Endpositionen des Verbindungspfades.

Parameter:
posA, posBNone, tuple

(x, y)-Koordinaten von Pfeilschwanz bzw. Pfeilkopf. Wenn None, wird der aktuelle Wert verwendet.

Beispiele für die Verwendung von matplotlib.patches.FancyArrowPatch#

Animation mehrerer Achsen

Animation mehrerer Achsen

Balken eines Kreises

Balken eines Kreises

Pfeilführer

Pfeilführer

Winkelannotationen auf Klammerpfeilen

Winkelannotationen auf Klammerpfeilen

Annotationen

Annotationen