matplotlib.patches.Arc#
- class matplotlib.patches.Arc(xy, width, height, *, angle=0.0, theta1=0.0, theta2=360.0, **kwargs)[Quelle]#
Basisklassen:
EllipseEin elliptischer Bogen, d.h. ein Segment einer Ellipse.
Aufgrund interner Optimierungen kann der Bogen nicht gefüllt werden.
- Parameter:
- xy(float, float)
Das Zentrum der Ellipse.
- widthfloat
Die Länge der horizontalen Achse.
- heightfloat
Die Länge der vertikalen Achse.
- anglefloat
Rotation der Ellipse in Grad (gegen den Uhrzeigersinn).
- theta1, theta2float, Standard: 0, 360
Start- und Endwinkel des Bogens in Grad. Diese Werte beziehen sich auf angle, z. B. wenn angle = 45 und theta1 = 90 ist, ist der absolute Startwinkel 135. Standardmäßig theta1 = 0, theta2 = 360, d. h. 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 modulo 360 genommen wird.
- Andere Parameter:
- **kwargs
PatchEigenschaften Die meisten
Patch-Eigenschaften werden als Schlüsselwortargumente unterstützt, außer fill und facecolor, da das Füllen nicht unterstützt wird.Eigenschaft
Beschreibung
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
unknown
bool
antialiasedoderaabool oder None
CapStyleoder {'butt', 'projecting', 'round'}BboxBaseoder Nonebool
Patch oder (Path, Transform) oder None
Farbe oder None
Farbe oder None
bool
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
unknown
bool
JoinStyleoder {'miter', 'round', 'bevel'}object
{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
float oder None
bool
Liste von
AbstractPathEffectNone oder bool oder float oder callable
bool
(scale: float, length: float, randomness: float)
bool oder None
str
bool
float
- **kwargs
- draw(renderer)[Quelle]#
Zeichnet den Bogen auf den gegebenen renderer.
Anmerkungen
Ellipsen werden normalerweise mit einer Approximation gezeichnet, die acht kubische Bézier-Splines verwendet. Der Fehler dieser Approximation beträgt laut dieser nicht verifizierten Quelle 1,89818e-6
Lancaster, Don. Approximating a Circle or an Ellipse Using Four Bezier Cubic 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 einer der Radien der Ellipse groß genug ist, dass der Fehler der Spline-Approximation sichtbar ist (größer als ein Pixelversatz von der Ideale), 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 Achsen (oder die Bildebene) schneidet, werden ermittelt. (Dies geschieht durch eine inverse Transformation der Bounding Box, so dass sie sich auf den Einheitskreis bezieht – dies erleichtert die Schnittberechnung erheblich, als eine direkte Schnittberechnung mit einer rotierten Ellipse durchzuführen.)
Dies verwendet den Algorithmus „Linie schneidet einen Kreis“ aus
Vince, John. Geometry for Computer Graphics: Formulae, Examples & Proofs. London: Springer-Verlag, 2005.
Die Winkel jedes Schnittpunktes werden berechnet.
Beginnend in positiver x-Richtung und fortlaufend gegen den Uhrzeigersinn werden die sichtbaren Bogensegmente zwischen den Paaren von Eckpunkten mit der Bézier-Bogenapproximationsmethode gezeichnet, die in
Path.arcimplementiert ist.
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, angle=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, capstyle=<UNSET>, center=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, gid=<UNSET>, hatch=<UNSET>, hatch_linewidth=<UNSET>, height=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, mouseover=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zorder=<UNSET>)[Quelle]#
Setzt mehrere Eigenschaften auf einmal.
Unterstützte Eigenschaften sind
Eigenschaft
Beschreibung
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
float oder None
float
bool
antialiasedoderaabool oder None
CapStyleoder {'butt', 'projecting', 'round'}(float, float)
BboxBaseoder Nonebool
Patch oder (Path, Transform) oder None
Farbe oder None
Farbe oder None
bool
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
unknown
float
bool
JoinStyleoder {'miter', 'round', 'bevel'}object
{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
float oder None
bool
Liste von
AbstractPathEffectNone oder bool oder float oder callable
bool
(scale: float, length: float, randomness: float)
bool oder None
str
bool
float
float