matplotlib.axes.Axes.plot#
- Axes.plot(*args, scalex=True, scaley=True, data=None, **kwargs)[Quelle]#
Zeichnet y gegen x als Linien und/oder Markierungen.
Aufrufsignaturen
plot([x], y, [fmt], *, data=None, **kwargs) plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
Die Koordinaten der Punkte oder Linienknoten werden durch x, y angegeben.
Der optionale Parameter fmt ist eine bequeme Möglichkeit, grundlegende Formatierungen wie Farbe, Marker und Linienstil zu definieren. Es ist eine Kurzschreibweise, die im Abschnitt Hinweise unten beschrieben wird.
>>> plot(x, y) # plot x and y using default line style and color >>> plot(x, y, 'bo') # plot x and y using blue circle markers >>> plot(y) # plot y using x as index array 0..N-1 >>> plot(y, 'r+') # ditto, but with red plusses
Sie können
Line2D-Eigenschaften als Schlüsselwortargumente verwenden, um das Erscheinungsbild genauer zu steuern. Linien-Eigenschaften und fmt können gemischt werden. Die folgenden beiden Aufrufe ergeben identische Ergebnisse>>> plot(x, y, 'go--', linewidth=2, markersize=12) >>> plot(x, y, color='green', marker='o', linestyle='dashed', ... linewidth=2, markersize=12)
Bei Konflikten mit fmt haben Schlüsselwortargumente Vorrang.
Plotten beschrifteter Daten
Es gibt eine bequeme Möglichkeit, Objekte mit beschrifteten Daten zu plotten (d.h. Daten, auf die über einen Index wie
obj['y']zugegriffen werden kann). Anstatt die Daten in x und y anzugeben, können Sie das Objekt im Parameter data angeben und einfach die Bezeichnungen für x und y nennen>>> plot('xlabel', 'ylabel', data=obj)
Alle indizierbaren Objekte werden unterstützt. Dies kann z.B. ein
dict, einpandas.DataFrameoder ein strukturiertes Numpy-Array sein.Plotten mehrerer Datensätze
Es gibt verschiedene Möglichkeiten, mehrere Datensätze zu plotten.
Der direkteste Weg ist,
plotmehrmals aufzurufen. Beispiel>>> plot(x1, y1, 'bo') >>> plot(x2, y2, 'go')
Wenn x und/oder y 2D-Arrays sind, wird für jede Spalte ein separater Datensatz gezeichnet. Wenn sowohl x als auch y 2D sind, müssen sie dieselbe Form haben. Wenn nur eines von ihnen 2D mit der Form (N, m) ist, muss das andere die Länge N haben und wird für jeden Datensatz m verwendet.
Beispiel
>>> x = [1, 2, 3] >>> y = np.array([[1, 2], [3, 4], [5, 6]]) >>> plot(x, y)
ist äquivalent zu
>>> for col in range(y.shape[1]): ... plot(x, y[:, col])
Der dritte Weg ist, mehrere Sätze von [x], y, [fmt]-Gruppen anzugeben
>>> plot(x1, y1, 'g^', x2, y2, 'g-')
In diesem Fall gelten zusätzliche Schlüsselwortargumente für alle Datensätze. Außerdem kann diese Syntax nicht mit dem data-Parameter kombiniert werden.
Standardmäßig wird jeder Linie ein anderer Stil zugewiesen, der durch einen 'Style-Zyklus' bestimmt wird. Die Parameter fmt und Linien-Eigenschaften sind nur erforderlich, wenn Sie explizite Abweichungen von diesen Standardwerten wünschen. Alternativ können Sie den Style-Zyklus auch über
rcParams["axes.prop_cycle"](Standard:cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])) ändern.- Parameter:
- x, yarray-artig oder float
Die horizontalen / vertikalen Koordinaten der Datenpunkte. x-Werte sind optional und standardmäßig
range(len(y)).Typischerweise sind diese Parameter 1D-Arrays.
Sie können auch Skalare oder zweidimensionale Arrays sein (in diesem Fall stellen die Spalten separate Datensätze dar).
Diese Argumente können nicht als Schlüsselwörter übergeben werden.
- fmtstr, optional
Ein Formatstring, z.B. 'ro' für rote Kreise. Siehe Abschnitt Hinweise für eine vollständige Beschreibung der Formatstrings.
Formatstrings sind nur eine Abkürzung, um grundlegende Linien-Eigenschaften schnell einzustellen. Alle diese und weitere können auch durch Schlüsselwortargumente gesteuert werden.
Dieses Argument kann nicht als Schlüsselwort übergeben werden.
- dataindizierbares Objekt, optional
Ein Objekt mit beschrifteten Daten. Wenn angegeben, geben Sie die Labelnamen zum Zeichnen in x und y an.
Hinweis
Technisch gibt es eine leichte Mehrdeutigkeit bei Aufrufen, bei denen das zweite Label ein gültiges fmt ist.
plot('n', 'o', data=obj)könnteplt(x, y)oderplt(y, fmt)sein. In solchen Fällen wird die erstere Interpretation gewählt, aber eine Warnung ausgegeben. Sie können die Warnung unterdrücken, indem Sie einen leeren Formatstring hinzufügen:plot('n', 'o', '', data=obj).
- Gibt zurück:
- Liste von
Line2D Eine Liste von Linien, die die geplotteten Daten darstellen.
- Liste von
- Andere Parameter:
- scalex, scaleybool, Standard: True
Diese Parameter bestimmen, ob die Ansichtsgrenzen an die Datengrenzen angepasst werden. Die Werte werden an
autoscale_viewweitergegeben.- **kwargs
Line2DEigenschaften, optional kwargs werden verwendet, um Eigenschaften wie eine Linienbeschriftung (für automatische Legenden), Linienbreite, Kantenglättung, Marker-Füllfarbe anzugeben. Beispiel
>>> plot([1, 2, 3], [1, 2, 3], 'go-', label='line 1', linewidth=2) >>> plot([1, 2, 3], [1, 4, 9], 'rs', label='line 2')
Wenn Sie mehrere Linien mit einem Plot-Aufruf angeben, gelten die kwargs für alle diese Linien. Wenn das Label-Objekt iterierbar ist, wird jedes Element als Beschriftung für jeden Datensatz verwendet.
Hier ist eine Liste der verfügbaren
Line2DEigenschaftenEigenschaft
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
bool
antialiasedoderaabool
BboxBaseoder Nonebool
Patch oder (Path, Transform) oder None
CapStyleoder {'butt', 'projecting', 'round'}JoinStyleoder {'miter', 'round', 'bevel'}Sequenz von Floats (An/Aus-Linie in Punkten) oder (None, None)
(2, N) Array oder zwei 1D-Arrays
{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, Standard: 'default'
{'full', 'left', 'right', 'bottom', 'top', 'none'}
Farbe oder None
str
bool
object
{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
float
Marker-Stil-String,
PathoderMarkerStylemarkeredgecolorodermecmarkeredgewidthodermewfloat
markerfacecolorodermfcmarkerfacecoloraltodermfcaltmarkersizeodermsfloat
None oder int oder (int, int) oder Slice oder list[int] oder float oder (float, float) oder list[bool]
bool
Liste von
AbstractPathEffectfloat oder aufrufbar[[Artist, Event], tuple[bool, dict]]
float
bool
(scale: float, length: float, randomness: float)
bool oder None
CapStyleoder {'butt', 'projecting', 'round'}JoinStyleoder {'miter', 'round', 'bevel'}unknown
str
bool
1D-Array
1D-Array
float
Siehe auch
scatterXY-Streudiagramm mit Markierungen unterschiedlicher Größe und/oder Farbe (manchmal auch Blasendiagramm genannt).
Anmerkungen
Formatstrings
Ein Formatstring besteht aus einem Teil für Farbe, Marker und Linie
fmt = '[marker][line][color]'
Jeder davon ist optional. Wenn er nicht angegeben wird, wird der Wert aus dem Style-Zyklus verwendet. Ausnahme: Wenn
lineangegeben ist, aber keinmarker, werden die Daten als Linie ohne Marker dargestellt.Andere Kombinationen wie
[color][marker][line]werden ebenfalls unterstützt, aber beachten Sie, dass ihre Interpretation mehrdeutig sein kann.Markierungen
Zeichen
Beschreibung
'.'Punktmarker
','Pixelmarker
'o'Kreismarker
'v'Nach-unten-Dreieck-Marker
'^'Nach-oben-Dreieck-Marker
'<'Nach-links-Dreieck-Marker
'>'Nach-rechts-Dreieck-Marker
'1'tri_down-Marker
'2'tri_up-Marker
'3'tri_left-Marker
'4'tri_right-Marker
'8'Oktagon-Marker
's'Quadratmarker
'p'Fünfeckmarker
'P'Plus (gefüllter) Marker
'*'Sternchen-Marker
'h'Hexagon1-Marker
'H'Hexagon2-Marker
'+'Plus-Marker
'x'X-Marker
'X'X (gefüllter) Marker
'D'Diamantmarker
'd'thin_diamond-Marker
'|'vline-Marker
'_'hline-Marker
Linienstile
Zeichen
Beschreibung
'-'durchgehender Linienstil
'--'gestrichelter Linienstil
'-.'strichpunktierter Linienstil
':'gepunkteter Linienstil
Beispiel-Formatstrings
'b' # blue markers with default shape 'or' # red circles '-g' # green solid line '--' # dashed line with default color '^k:' # black triangle_up markers connected by a dotted line
Farben
Die unterstützten Farb-Abkürzungen sind die einbuchstabigen Codes
Zeichen
color
'b'blau
'g'grün
'r'rot
'c'cyan
'm'magenta
'y'gelb
'k'schwarz
'w'weiß
und die
'CN'-Farben, die in den Standard-Eigenschaftszyklus indizieren.Wenn die Farbe der einzige Teil des Formatstrings ist, können Sie zusätzlich jede
matplotlib.colors-Spezifikation verwenden, z.B. vollständige Namen ('green') oder Hex-Strings ('#008000').
Beispiele mit matplotlib.axes.Axes.plot#
Abbildung von Markereigenschaften auf multivariate Daten
Radardiagramm (auch Spinnen- oder Sternendiagramm genannt)
Ansichtsgrenzen mit Rändern und sticky_edges steuern
Figuren-Beschriftungen: suptitle, supxlabel, supylabel
Benutzerdefinierter Tick-Formatierer für Zeitreihen
SI-präfixierte Offsets und natürliche Größenordnungen
Standard-Y-Achsen-Tick-Beschriftungen rechts einstellen
Tick-Beschriftungen aus einer Werteliste einstellen
X-Achsen-Tick-Beschriftungen nach oben verschieben