matplotlib.patches.Patch#
- class matplotlib.patches.Patch(*, edgecolor=None, facecolor=None, color=None, linewidth=None, linestyle=None, antialiased=None, hatch=None, fill=True, capstyle=None, joinstyle=None, **kwargs)[Quelle]#
Bases:
ArtistEin Patch ist ein 2D-Künstler mit einer Flächenfarbe und einer Randfarbe.
Wenn edgecolor, facecolor, linewidth oder antialiased None sind, werden sie auf ihre rc-Params-Einstellung gesetzt.
Die folgenden Kwarg-Eigenschaften werden unterstützt
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
- contains(mouseevent, radius=None)[Quelle]#
Testet, ob das Mausereignis innerhalb des Patches aufgetreten ist.
- Parameter:
- mouseevent
MouseEvent Wo der Benutzer geklickt hat.
- radiusfloat, optional
Zusätzlicher Rand am Patch in Zielkoordinaten von
Patch.get_transform. SiehePath.contains_pointfür weitere Details.Wenn
None, hängt der Standardwert vom Zustand des Objekts abWenn
Artist.get_pickereine Zahl ist, ist der Standardwert dieser Wert. Dies geschieht, damit das Picking wie erwartet funktioniert.Andernfalls, wenn die Randfarbe eine Nicht-Null-Alpha hat, beträgt der Standardwert die Hälfte der Linienbreite. Dies geschieht, damit alle farbigen Pixel "im" Patch liegen.
Schließlich, wenn der Rand eine Alpha von 0 hat, beträgt der Standardwert 0. Dies geschieht, damit Patches ohne gestrichelten Rand keine Punkte außerhalb des gefüllten Bereichs melden, die aufgrund eines unsichtbaren Rands als "drin" gelten.
- mouseevent
- Gibt zurück:
- (bool, leeres dict)
- contains_point(point, radius=None)[Quelle]#
Gibt zurück, ob der gegebene Punkt innerhalb des Patches liegt.
- Parameter:
- point(float, float)
Der Punkt (x, y), der überprüft werden soll, in Zielkoordinaten von
.Patch.get_transform(). Dies sind Anzeigekoordinaten für Patches, die zu einer Figur oder einer Achse hinzugefügt werden.- radiusfloat, optional
Zusätzlicher Rand am Patch in Zielkoordinaten von
Patch.get_transform. SiehePath.contains_pointfür weitere Details.Wenn
None, hängt der Standardwert vom Zustand des Objekts abWenn
Artist.get_pickereine Zahl ist, ist der Standardwert dieser Wert. Dies geschieht, damit das Picking wie erwartet funktioniert.Andernfalls, wenn die Randfarbe eine Nicht-Null-Alpha hat, beträgt der Standardwert die Hälfte der Linienbreite. Dies geschieht, damit alle farbigen Pixel "im" Patch liegen.
Schließlich, wenn der Rand eine Alpha von 0 hat, beträgt der Standardwert 0. Dies geschieht, damit Patches ohne gestrichelten Rand keine Punkte außerhalb des gefüllten Bereichs melden, die aufgrund eines unsichtbaren Rands als "drin" gelten.
- Gibt zurück:
- bool
Anmerkungen
Die richtige Verwendung dieser Methode hängt von der Transformation des Patches ab. Isolierte Patches haben keine Transformation. In diesem Fall stimmen die Koordinaten der Patch-Erstellung und die Punktkoordinaten überein. Das folgende Beispiel prüft, ob das Zentrum eines Kreises innerhalb des Kreises liegt
>>> center = 0, 0 >>> c = Circle(center, radius=1) >>> c.contains_point(center) True
Die Konvention, gegen den transformierten Patch zu prüfen, rührt daher, dass diese Methode hauptsächlich verwendet wird, um zu prüfen, ob Anzeigekoordinaten (z. B. von Mausereignissen) innerhalb des Patches liegen. Wenn Sie die obige Prüfung mit Datenkoordinaten durchführen möchten, müssen Sie diese zuerst ordnungsgemäß transformieren
>>> center = 0, 0 >>> c = Circle(center, radius=3) >>> plt.gca().add_patch(c) >>> transformed_interior_point = c.get_data_transform().transform((0, 2)) >>> c.contains_point(transformed_interior_point) True
- contains_points(points, radius=None)[Quelle]#
Gibt zurück, ob die gegebenen Punkte innerhalb des Patches liegen.
- Parameter:
- points(N, 2) Array
Die zu überprüfenden Punkte in Zielkoordinaten von
self.get_transform(). Dies sind Anzeigekoordinaten für Patches, die zu einer Figur oder einer Achse hinzugefügt werden. Die Spalten enthalten x- und y-Werte.- radiusfloat, optional
Zusätzlicher Rand am Patch in Zielkoordinaten von
Patch.get_transform. SiehePath.contains_pointfür weitere Details.Wenn
None, hängt der Standardwert vom Zustand des Objekts abWenn
Artist.get_pickereine Zahl ist, ist der Standardwert dieser Wert. Dies geschieht, damit das Picking wie erwartet funktioniert.Andernfalls, wenn die Randfarbe eine Nicht-Null-Alpha hat, beträgt der Standardwert die Hälfte der Linienbreite. Dies geschieht, damit alle farbigen Pixel "im" Patch liegen.
Schließlich, wenn der Rand eine Alpha von 0 hat, beträgt der Standardwert 0. Dies geschieht, damit Patches ohne gestrichelten Rand keine Punkte außerhalb des gefüllten Bereichs melden, die aufgrund eines unsichtbaren Rands als "drin" gelten.
- Gibt zurück:
- Länge-N bool Array
Anmerkungen
Die richtige Verwendung dieser Methode hängt von der Transformation des Patches ab. Siehe die Hinweise zu
Patch.contains_point.
- 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_visiblegibt False zurück).- Parameter:
- renderer
RendererBaseUnterklasse.
- renderer
Anmerkungen
Diese Methode wird in den Künstler-Unterklassen überschrieben.
- property fill#
Gibt zurück, ob der Patch gefüllt ist.
- get_aa()[Quelle]#
Alias für
get_antialiased.
- get_data_transform()[Quelle]#
Gibt die
Transformzurück, die Datenkoordinaten auf physische Koordinaten abbildet.
- get_ec()[Quelle]#
Alias für
get_edgecolor.
- get_fc()[Quelle]#
Alias für
get_facecolor.
- get_ls()[Quelle]#
Alias für
get_linestyle.
- get_lw()[Quelle]#
Alias für
get_linewidth.
- get_patch_transform()[Quelle]#
Gibt die
Transform-Instanz zurück, die Patch-Koordinaten in Datenkoordinaten abbildet.Man kann beispielsweise einen Kreis-Patch definieren, der einen Radius von 5 darstellt, indem man Koordinaten für einen Einheitskreis und eine Transformation angibt, die die Koordinaten (die Patch-Koordinaten) mit 5 skaliert.
- get_verts()[Quelle]#
Gibt eine Kopie der für diesen Patch verwendeten Eckpunkte zurück.
Wenn der Patch Bézier-Kurven enthält, werden die Kurven durch Liniensegmente interpoliert. Um die Kurven als Kurven zu erhalten, verwenden Sie
get_path.
- get_window_extent(renderer=None)[Quelle]#
Ruft die Bounding Box des Künstlers im Anzeigeraum ab.
Die Breite und Höhe der Bounding Box sind nicht negativ.
Unterklassen sollten für die Aufnahme in die "enge" Bounding-Box-Berechnung überschrieben werden. Standard ist die Rückgabe einer leeren Bounding Box bei 0, 0.
Seien Sie vorsichtig bei der Verwendung dieser Funktion, die Ergebnisse werden nicht aktualisiert, wenn sich die Fenstererweiterung des Künstlers ändert. Die Erweiterung kann sich aufgrund von Änderungen im Transformationsstapel ändern, wie z. B. Änderungen der Axes-Limits, der Figure-Größe oder der verwendeten Canvas (wie beim Speichern einer Figure). Dies kann zu unerwartetem Verhalten führen, bei dem interaktive Figures auf dem Bildschirm gut aussehen, aber falsch gespeichert werden.
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, capstyle=<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>, 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>, 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
unknown
bool
bool 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
- set_aa(aa)[Quelle]#
Alias für
set_antialiased.
- set_alpha(alpha)[Quelle]#
Legt den für die Mischung verwendeten Alpha-Wert fest - wird nicht von allen Backends unterstützt.
- Parameter:
- alphafloat oder None
alpha muss im Bereich von 0 bis 1, einschließlich, liegen.
- set_antialiased(aa)[Quelle]#
Gibt an, ob Antialiasing-Rendering verwendet werden soll.
- Parameter:
- aabool oder None
- set_capstyle(s)[Quelle]#
Setzt den
CapStyle.Der Standard-Capstyle ist 'round' für
FancyArrowPatchund 'butt' für alle anderen Patches.- Parameter:
- s
CapStyleoder {'butt', 'projecting', 'round'}
- s
- set_color(c)[Quelle]#
Setzt sowohl die Randfarbe als auch die Flächenfarbe.
- Parameter:
Siehe auch
Patch.set_facecolor,Patch.set_edgecolorZum individuellen Setzen der Rand- oder Flächenfarbe.
- set_ec(color)[Quelle]#
Alias für
set_edgecolor.
- set_fc(color)[Quelle]#
Alias für
set_facecolor.
- set_hatch(hatch)[Quelle]#
Legt das Schattierungsmuster fest.
hatch kann einer von den folgenden sein
/ - diagonal hatching \ - back diagonal | - vertical - - horizontal + - crossed x - crossed diagonal o - small circle O - large circle . - dots * - stars
Buchstaben können kombiniert werden, in diesem Fall werden alle angegebenen Schattierungen durchgeführt. Wenn derselbe Buchstabe wiederholt wird, erhöht sich die Dichte der Schattierung dieses Musters.
- Parameter:
- hatch{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
- set_joinstyle(s)[Quelle]#
Setzt den
JoinStyle.Der Standard-Joinstyle ist 'round' für
FancyArrowPatchund 'miter' für alle anderen Patches.- Parameter:
- s
JoinStyleoder {'miter', 'round', 'bevel'}
- s
- set_linestyle(ls)[source]#
Setzt den Linienstil des Patches.
Linienstil (linestyle)
Beschreibung
'-'oder'solid'durchgezogene Linie
'--'oder'dashed'gestrichelte Linie
'-.'oder'dashdot'Strichpunktlinie
':'oder'dotted'gepunktete Linie
'none','None',' ', oder''Zeichne nichts
Alternativ kann ein Strich-Tupel der folgenden Form angegeben werden
(offset, onoffseq)
wobei
onoffseqein Tupel mit gerader Länge von Ein- und Aus-Tinte in Punkten ist.- Parameter:
- ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
Der Linienstil.
- set_linewidth(w)[source]#
Setzt die Linienstärke des Patches in Punkten.
- Parameter:
- wfloat oder None
- set_ls(ls)[source]#
Alias für
set_linestyle.
- set_lw(w)[source]#
Alias für
set_linewidth.
- zorder = 1#
Beispiele für die Verwendung von matplotlib.patches.Patch#
Histogramme mit Rechtecken und PolyCollections erstellen
Radardiagramm (auch Spinnen- oder Sternendiagramm genannt)
SkewT-LogP-Diagramm: Verwendung von Transformationen und benutzerdefinierten Projektionen
Darstellung einer Konfidenzellipse eines zweidimensionalen Datensatzes
Erstellung von Boxen aus Fehlerbalken mit PatchCollection
Ansichtsgrenzen mit Rändern und sticky_edges steuern