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: Artist

Ein 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

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

contains(mouseevent, radius=None)[Quelle]#

Testet, ob das Mausereignis innerhalb des Patches aufgetreten ist.

Parameter:
mouseeventMouseEvent

Wo der Benutzer geklickt hat.

radiusfloat, optional

Zusätzlicher Rand am Patch in Zielkoordinaten von Patch.get_transform. Siehe Path.contains_point für weitere Details.

Wenn None, hängt der Standardwert vom Zustand des Objekts ab

  • Wenn Artist.get_picker eine 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, 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. Siehe Path.contains_point für weitere Details.

Wenn None, hängt der Standardwert vom Zustand des Objekts ab

  • Wenn Artist.get_picker eine 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. Siehe Path.contains_point für weitere Details.

Wenn None, hängt der Standardwert vom Zustand des Objekts ab

  • Wenn Artist.get_picker eine 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_visible gibt False zurück).

Parameter:
rendererRendererBase Unterklasse.

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_antialiased()[Quelle]#

Gibt zurück, ob Antialiasing zum Zeichnen verwendet wird.

get_capstyle()[Quelle]#

Gibt den Capstyle zurück.

get_data_transform()[Quelle]#

Gibt die Transform zurück, die Datenkoordinaten auf physische Koordinaten abbildet.

get_ec()[Quelle]#

Alias für get_edgecolor.

get_edgecolor()[Quelle]#

Gibt die Randfarbe zurück.

get_extents()[Quelle]#

Gibt die achsenparallelen Begrenzungen des Patch als Bbox zurück.

get_facecolor()[Quelle]#

Gibt die Flächenfarbe zurück.

get_fc()[Quelle]#

Alias für get_facecolor.

get_fill()[Quelle]#

Gibt zurück, ob der Patch gefüllt ist.

get_hatch()[Quelle]#

Gibt das Schattierungsmuster zurück.

get_hatch_linewidth()[Quelle]#

Gibt die Schattierungs-Linienbreite zurück.

get_joinstyle()[Quelle]#

Gibt den Joinstyle zurück.

get_linestyle()[Quelle]#

Gibt den Linienstil zurück.

get_linewidth()[Quelle]#

Gibt die Linienbreite in Punkten zurück.

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_path()[Quelle]#

Gibt den Pfad dieser Markierung zurück.

get_transform()[Quelle]#

Gibt die auf den Patch angewendete Transform zurück.

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

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

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

Randfarbe (edgecolor)

Farbe oder None

Füllfarbe (facecolor)

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

Linienstil (linestyle)

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

Linienbreite (linewidth)

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

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 FancyArrowPatch und 'butt' für alle anderen Patches.

Parameter:
sCapStyle oder {'butt', 'projecting', 'round'}
set_color(c)[Quelle]#

Setzt sowohl die Randfarbe als auch die Flächenfarbe.

Parameter:
cFarbe

Siehe auch

Patch.set_facecolor, Patch.set_edgecolor

Zum individuellen Setzen der Rand- oder Flächenfarbe.

set_ec(color)[Quelle]#

Alias für set_edgecolor.

set_edgecolor(color)[Quelle]#

Setzt die Randfarbe des Patches.

Parameter:
colorFarbe oder None
set_facecolor(color)[Quelle]#

Setzt die Flächenfarbe des Patches.

Parameter:
colorFarbe oder None
set_fc(color)[Quelle]#

Alias für set_facecolor.

set_fill(b)[Quelle]#

Legt fest, ob der Patch gefüllt werden soll.

Parameter:
bbool
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_hatch_linewidth(lw)[Quelle]#

Setzt die Linienstärke der Schraffur.

set_joinstyle(s)[Quelle]#

Setzt den JoinStyle.

Der Standard-Joinstyle ist 'round' für FancyArrowPatch und 'miter' für alle anderen Patches.

Parameter:
sJoinStyle oder {'miter', 'round', 'bevel'}
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 onoffseq ein 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.

update_from(other)[source]#

Kopiert Eigenschaften von other nach self.

zorder = 1#

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

Animation mehrerer Achsen

Animation mehrerer Achsen

Inset Locator Demo

Inset Locator Demo

Liste benannter Farben

Liste benannter Farben

Lupe

Lupe

Pfadeditor

Pfadeditor

Pick-Ereignis Demo

Pick-Ereignis Demo

Polygon-Editor

Polygon-Editor

Trifinder Event Demo

Trifinder Event Demo

Viewlims

Viewlims

Bilder mit Patches beschneiden

Bilder mit Patches beschneiden

Viele Möglichkeiten, Bilder darzustellen

Viele Möglichkeiten, Bilder darzustellen

Kurve mit Fehlerband

Kurve mit Fehlerband

Stairs Demo

Stairs Demo

Verankerte Künstler

Verankerte Künstler

Ermitteln, ob Künstler sich überschneiden

Ermitteln, ob Künstler sich überschneiden

Benutzerdefinierte Projektion

Benutzerdefinierte Projektion

Histogramme mit Rechtecken und PolyCollections erstellen

Histogramme mit Rechtecken und PolyCollections erstellen

Matplotlib-Logo

Matplotlib-Logo

Gepacktes Blasendiagramm

Gepacktes Blasendiagramm

SVG-Filter Kreis

SVG-Filter Kreis

TickedStroke Patheffect

TickedStroke Patheffect

Flache Objekte in 3D-Diagramm zeichnen

Flache Objekte in 3D-Diagramm zeichnen

Balken eines Kreises

Balken eines Kreises

Pfeilführer

Pfeilführer

Referenz für Matplotlib-Künstler

Referenz für Matplotlib-Künstler

Zusammengesetzter Pfad

Zusammengesetzter Pfad

Delfine

Delfine

Mmh Donuts!!!

Mmh Donuts!!!

Ellipse mit Ausrichtungspfeil-Demo

Ellipse mit Ausrichtungspfeil-Demo

Ellipse Demo

Ellipse Demo

Zeichnen von schicken Boxen

Zeichnen von schicken Boxen

Hatch-Demo

Hatch-Demo

Schraffur-Stilreferenz

Schraffur-Stilreferenz

Kreise, Keile und Polygone

Kreise, Keile und Polygone

PathPatch-Objekt

PathPatch-Objekt

Bézier-Kurve

Bézier-Kurve

Anatomie einer Figur

Anatomie einer Figur

Firefox

Firefox

Integral als Fläche unter einer Kurve

Integral als Fläche unter einer Kurve

Hinton-Diagramme

Hinton-Diagramme

Ishikawa-Diagramm

Ishikawa-Diagramm

Radardiagramm (auch Spinnen- oder Sternendiagramm genannt)

Radardiagramm (auch Spinnen- oder Sternendiagramm genannt)

SkewT-LogP-Diagramm: Verwendung von Transformationen und benutzerdefinierten Projektionen

SkewT-LogP-Diagramm: Verwendung von Transformationen und benutzerdefinierten Projektionen

Boxplots

Boxplots

Darstellung einer Konfidenzellipse eines zweidimensionalen Datensatzes

Darstellung einer Konfidenzellipse eines zweidimensionalen Datensatzes

Erstellung von Boxen aus Fehlerbalken mit PatchCollection

Erstellung von Boxen aus Fehlerbalken mit PatchCollection

ggplot Stilvorlage

ggplot Stilvorlage

Graustufen-Stilvorlage

Graustufen-Stilvorlage

Petroff10 Stilvorlage

Petroff10 Stilvorlage

Stilvorlagen-Referenz

Stilvorlagen-Referenz

Achsen-Box-Seitenverhältnis

Achsen-Box-Seitenverhältnis

Ansichtsgrenzen mit Rändern und sticky_edges steuern

Ansichtsgrenzen mit Rändern und sticky_edges steuern

Achsen-Zoom-Effekt

Achsen-Zoom-Effekt

Skaleninvariante Winkelbeschriftung

Skaleninvariante Winkelbeschriftung

Winkelannotationen auf Klammerpfeilen

Winkelannotationen auf Klammerpfeilen

Diagramme annotieren

Diagramme annotieren

Benutzerdefinierte Legenden erstellen

Benutzerdefinierte Legenden erstellen

AnnotationBbox Demo

AnnotationBbox Demo

Text als Pfad verwenden

Text als Pfad verwenden

Textrotationsmodus

Textrotationsmodus

Textfelder platzieren

Textfelder platzieren

Textausrichtung

Textausrichtung

Künstlertests

Künstlertests

Ellipse mit Einheiten

Ellipse mit Einheiten

Menü

Menü

Pfad-Tutorial

Pfad-Tutorial

Tutorial zu Transformationen

Tutorial zu Transformationen

Legenden-Anleitung

Legenden-Anleitung

Farben spezifizieren

Farben spezifizieren

Annotationen

Annotationen

Texteigenschaften und Layout

Texteigenschaften und Layout