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-
Patch
Eigenschaften Die meisten
Patch
Eigenschaften werden als Schlüsselwortargumente unterstützt, mit Ausnahme von fill und facecolor , da das Füllen nicht unterstützt wird.Eigentum
Beschreibung
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
Unbekannt
bool
antialiased
oder ähbool oder Keine
CapStyle
oder {'hinter', 'vorstehend', 'rund'}bool
Patch oder (Pfad, Transform) oder None
Farbe
edgecolor
oder ecFarbe oder Keine
facecolor
oder FCFarbe oder Keine
bool
Str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyle
oder {'Gehrung', 'rund', 'Fase'}Objekt
linestyle
oder ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth
oder lwFloat oder None
bool
None oder bool oder float oder aufrufbar
bool
(Maßstab: Float, Länge: Float, Zufälligkeit: Float)
bool oder Keine
Str
bool
schweben
- **kwargs-
- 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.
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:
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.
Die Winkel von jedem der Schnittpunkte werden berechnet.
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
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
Skalar oder Keine
schweben
bool
antialiased
oder ähbool oder Keine
CapStyle
oder {'hinter', 'vorstehend', 'rund'}(schweben, schweben)
bool
Patch oder (Pfad, Transform) oder None
Farbe
edgecolor
oder ecFarbe oder Keine
facecolor
oder FCFarbe oder Keine
bool
Str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
schweben
bool
JoinStyle
oder {'Gehrung', 'rund', 'Fase'}Objekt
linestyle
oder ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth
oder lwFloat oder None
bool
None oder bool oder float oder aufrufbar
bool
(Maßstab: Float, Länge: Float, Zufälligkeit: Float)
bool oder Keine
Str
bool
schweben
schweben
Beispiele mit matplotlib.patches.Arc
#
Skaleninvariante Winkelbezeichnung