matplotlib.patches.Arc #

Klasse matplotlib.patches. Arc ( xy , width , height , * , angle = 0.0 , theta1 = 0.0 , theta2 = 360.0 , ** kwargs ) [Quelle] #

Basen:Ellipse

Ein Ellipsenbogen, dh ein Segment einer Ellipse.

Aufgrund interner Optimierungen kann der Bogen nicht gefüllt werden.

Parameter :
xy (schweben, schweben)

Der Mittelpunkt der Ellipse.

Breite Schwimmer

Die Länge der horizontalen Achse.

Höhenschwimmer _

Die Länge der vertikalen Achse.

Winkelschwimmer _

Drehung der Ellipse in Grad (gegen den Uhrzeigersinn).

theta1, theta2 Float, Standard: 0, 360

Anfangs- und Endwinkel des Bogens in Grad. Diese Werte sind relativ zum Winkel , zB wenn Winkel = 45 und Theta1 = 90 ist, ist der absolute Startwinkel 135. Standard Theta1 = 0, Theta2 = 360, dh eine vollständige Ellipse. Der Bogen wird gegen den Uhrzeigersinn gezeichnet. Winkel größer oder gleich 360 oder kleiner als 0 werden durch einen äquivalenten Winkel im Bereich [0, 360] dargestellt, indem der Eingabewert mod 360 genommen wird.

Andere Parameter :
**kwargs- PatchEigenschaften

Die meisten PatchEigenschaften werden als Schlüsselwortargumente unterstützt, mit Ausnahme von fill und facecolor , da das Füllen nicht unterstützt wird.

Eigentum

Beschreibung

agg_filter

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

alpha

Unbekannt

animated

bool

antialiasedoder äh

bool oder Keine

capstyle

CapStyleoder {'hinter', 'vorstehend', 'rund'}

clip_box

Bbox

clip_on

bool

clip_path

Patch oder (Pfad, Transform) oder None

color

Farbe

edgecoloroder ec

Farbe oder Keine

facecoloroder FC

Farbe oder Keine

figure

Figure

fill

bool

gid

Str

hatch

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

in_layout

bool

joinstyle

JoinStyleoder {'Gehrung', 'rund', 'Fase'}

label

Objekt

linestyleoder ls

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

linewidthoder lw

Float oder None

mouseover

bool

path_effects

AbstractPathEffect

picker

None oder bool oder float oder aufrufbar

rasterized

bool

sketch_params

(Maßstab: Float, Länge: Float, Zufälligkeit: Float)

snap

bool oder Keine

transform

Transform

url

Str

visible

bool

zorder

schweben

draw ( Renderer ) [Quelle] #

Zeichnet den Bogen zum gegebenen Renderer .

Anmerkungen

Ellipsen werden normalerweise mit einer Annäherung gezeichnet, die acht kubische Bezier-Splines verwendet. Der Fehler dieser Annäherung beträgt laut dieser unbestätigten Quelle 1,89818e-6:

Lancaster, Don. Approximieren eines Kreises oder einer Ellipse mit vier kubischen Bezier-Splines.

https://www.tinaja.com/glib/ellipse4.pdf

Es gibt einen Anwendungsfall, bei dem sehr große Ellipsen mit sehr hoher Genauigkeit gezeichnet werden müssen und es zu teuer ist, die gesamte Ellipse mit genügend Segmenten (entweder Splines oder Liniensegmente) zu rendern. Daher wird in dem Fall, in dem jeder Radius der Ellipse groß genug ist, dass der Fehler der Spline-Näherung sichtbar ist (mehr als ein Pixel vom Ideal entfernt), eine andere Technik verwendet.

In diesem Fall werden nur die sichtbaren Teile der Ellipse gezeichnet, wobei jeder sichtbare Bogen eine feste Anzahl von Spline-Segmenten (8) verwendet. Der Algorithmus geht wie folgt vor:

  1. Die Punkte, an denen die Ellipse die Begrenzungsbox der Achsen (oder Figur) schneidet, werden lokalisiert. (Dies geschieht durch eine umgekehrte Transformation der bbox, so dass sie relativ zum Einheitskreis ist - dies macht die Schnittpunktberechnung viel einfacher als die direkte Schnittmenge der gedrehten Ellipse.)

    Dies verwendet den Algorithmus "Linie schneidet einen Kreis" von:

    Vince, Johannes. Geometrie für Computergrafik: Formeln, Beispiele & Beweise. London: Springer-Verlag, 2005.

  2. Die Winkel von jedem der Schnittpunkte werden berechnet.

  3. Beginnend in der positiven x-Richtung gegen den Uhrzeigersinn fortschreitend, wird jedes der sichtbaren Bogensegmente zwischen den Scheitelpunktpaaren unter Verwendung der in implementierten Bezier-Bogen-Approximationstechnik gezeichnet Path.arc.

set ( * , agg_filter=<UNSCHARF> , alpha=<UNSCHARF> , angle=<UNSCHARF> , animation =<UNSCHARF> , antialiased=< UNSCHARF> , capstyle=<UNSCHARF> , center=<UNSCHARF> , clip_box=<UNSCHARF > , clip_on=<UNSCHARF> , clip_path=<UNSCHARF> , color=<UNSCHARF> , edgecolor=<UNSCHARF> , facecolor=<UNSCHARF> , fill=<UNSCHARF> , gid=<UNSCHARF> , hatch=<UNSCHARF> , Höhe=<UNSET> ,in_layout=<UNSET> ,joinstyle=<UNSET> , label=<UNSET> , linestyle=<UNSET > , linewidth=<UNSET> , mouseover=<UNSET> , path_effects= < UNSET> ,, rasterized = <UNSET> , sketch_params= <UNSCHARF> , snap=<UNSCHARF> , transform=<UNSCHARF> , url=<UNSCHARF> , visible=<UNSCHARF> , width=<UNSCHARF> , zorder=<UNSCHARF> ) [Quelle] #

Legen Sie mehrere Eigenschaften gleichzeitig fest.

Unterstützte Eigenschaften sind

Eigentum

Beschreibung

agg_filter

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

alpha

Skalar oder Keine

angle

schweben

animated

bool

antialiasedoder äh

bool oder Keine

capstyle

CapStyleoder {'hinter', 'vorstehend', 'rund'}

center

(schweben, schweben)

clip_box

Bbox

clip_on

bool

clip_path

Patch oder (Pfad, Transform) oder None

color

Farbe

edgecoloroder ec

Farbe oder Keine

facecoloroder FC

Farbe oder Keine

figure

Figure

fill

bool

gid

Str

hatch

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

height

schweben

in_layout

bool

joinstyle

JoinStyleoder {'Gehrung', 'rund', 'Fase'}

label

Objekt

linestyleoder ls

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

linewidthoder lw

Float oder None

mouseover

bool

path_effects

AbstractPathEffect

picker

None oder bool oder float oder aufrufbar

rasterized

bool

sketch_params

(Maßstab: Float, Länge: Float, Zufälligkeit: Float)

snap

bool oder Keine

transform

Transform

url

Str

visible

bool

width

schweben

zorder

schweben

Beispiele mit matplotlib.patches.Arc#

Skaleninvariante Winkelbezeichnung

Skaleninvariante Winkelbezeichnung

Skaleninvariante Winkelbezeichnung
Ellipse mit Einheiten

Ellipse mit Einheiten

Ellipse mit Einheiten