matplotlib.pyplot.scatter#
- matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None, colorizer=None, plotnonfinite=False, data=None, **kwargs)[Quelle]#
Ein Streudiagramm von y gegen x mit variabler Markergröße und/oder -farbe.
- Parameter:
- x, yfloat oder array-ähnlich, Form (n, )
Die Datenpositionen.
- sfloat oder array-ähnlich, Form (n, ), optional
Die Markergröße in Punkt**2 (typographische Punkte sind 1/72 Zoll). Standard ist
rcParams['lines.markersize']**2.Die Linienbreite und die Kantenfarbe können visuell mit der Markergröße interagieren und zu Artefakten führen, wenn die Markergröße kleiner als die Linienbreite ist.
Wenn die Linienbreite größer als 0 ist und die Kantenfarbe etwas anderes als 'none' ist, wird die effektive Größe des Markers um die halbe Linienbreite erhöht, da der Strich auf dem Rand der Form zentriert wird.
Um den Marker-Rand zu eliminieren, setzen Sie entweder linewidth=0 oder edgecolor='none'.
- carray-ähnlich oder Liste von Farbe oder Farbe, optional
Die Markerfarben. Mögliche Werte
Eine Skalarzahl oder Sequenz von n Zahlen, die mithilfe von cmap und norm in Farben abgebildet werden sollen.
Ein 2D-Array, dessen Zeilen RGB oder RGBA sind.
Eine Farbsequenz der Länge n.
Ein einzelner Farbformatstring.
Beachten Sie, dass c keine einzelne numerische RGB- oder RGBA-Sequenz sein sollte, da dies von einer Sequenz von Werten, die abgebildet werden sollen, nicht unterscheidbar ist. Wenn Sie denselben RGB- oder RGBA-Wert für alle Punkte angeben möchten, verwenden Sie ein 2D-Array mit einer einzelnen Zeile. Andernfalls hat die Wertübereinstimmung Vorrang, falls die Größe mit x und y übereinstimmt.
Wenn Sie eine einzelne Farbe für alle Punkte angeben möchten, verwenden Sie das Schlüsselwortargument color.
Standardmäßig
None. In diesem Fall wird die Markerfarbe durch den Wert von color, facecolor oder facecolors bestimmt. Wenn diese nicht angegeben sind oderNonesind, wird die Markerfarbe durch die nächste Farbe des aktuellen "Form- und Füll"-Farbzyklus derAxesbestimmt. Dieser Zyklus ist standardmäßigrcParams["axes.prop_cycle"](Standard:cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])).- marker
MarkerStyle, Standard:rcParams["scatter.marker"](Standard:'o') Der Markerstil. marker kann entweder eine Instanz der Klasse oder die Textabkürzung für einen bestimmten Marker sein. Weitere Informationen zu Markerstilen finden Sie unter
matplotlib.markers.- cmapstr oder
Colormap, Standard:rcParams["image.cmap"](Standard:'viridis') Die Colormap-Instanz oder der registrierte Colormap-Name, der verwendet wird, um Skalardaten in Farben abzubilden.
Dieser Parameter wird ignoriert, wenn c RGB(A) ist.
- normstr oder
Normalize, optional Die Normalisierungsmethode, die verwendet wird, um Skalardaten vor der Abbildung auf Farben mithilfe von cmap in den Bereich [0, 1] zu skalieren. Standardmäßig wird eine lineare Skalierung verwendet, die den niedrigsten Wert auf 0 und den höchsten auf 1 abbildet.
Wenn angegeben, kann dies eine der folgenden Optionen sein
Eine Instanz von
Normalizeoder eine ihrer Unterklassen (siehe Farbkartennormalisierung).Ein Skalennamen, d. h. einer von "linear", "log", "symlog", "logit" usw. Für eine Liste der verfügbaren Skalen rufen Sie
matplotlib.scale.get_scale_names()auf. In diesem Fall wird eine geeigneteNormalize-Unterklasse dynamisch generiert und instanziiert.
Dieser Parameter wird ignoriert, wenn c RGB(A) ist.
- vmin, vmaxfloat, optional
Wenn Skalardaten und keine explizite norm verwendet werden, definieren vmin und vmax den Datenbereich, den die Farbkarte abdeckt. Standardmäßig deckt die Farbkarte den gesamten Wertebereich der bereitgestellten Daten ab. Es ist ein Fehler, vmin/vmax zu verwenden, wenn eine norm-Instanz angegeben ist (aber die Verwendung eines
str-norm-Namens zusammen mit vmin/vmax ist akzeptabel).Dieser Parameter wird ignoriert, wenn c RGB(A) ist.
- alphafloat, Standard: None
Der Alpha-Mischwert, zwischen 0 (transparent) und 1 (opak).
- linewidthsfloat oder Array-ähnlich, Standard:
rcParams["lines.linewidth"](Standard:1.5) Die Linienbreite der Marker-Ränder. Hinweis: Die Standardeinstellung für edgecolors ist 'face'. Möglicherweise möchten Sie dies ebenfalls ändern.
- edgecolors{'face', 'none', None} oder Farbe oder Liste von Farbe, Standard:
rcParams["scatter.edgecolors"](Standard:'face') Die Randfarbe des Markers. Mögliche Werte
'face': Die Randfarbe ist immer gleich der Füllfarbe.
'none': Es wird keine Patch-Grenze gezeichnet.
Eine Farbe oder eine Sequenz von Farben.
Für nicht gefüllte Marker wird edgecolors ignoriert. Stattdessen wird die Farbe wie bei 'face' bestimmt, d.h. aus c, colors oder facecolors.
- colorizer
Colorizeroder None, Standard: None Das Colorizer-Objekt, das verwendet wird, um Farbe auf Daten abzubilden. Wenn None, wird ein Colorizer-Objekt aus norm und cmap erstellt.
Dieser Parameter wird ignoriert, wenn c RGB(A) ist.
- plotnonfinitebool, Standard: False
Ob Punkte mit nicht-endlichen c (d.h.
inf,-infodernan) gezeichnet werden sollen. WennTrue, werden die Punkte mit der bad-Colormap-Farbe gezeichnet (sieheColormap.set_bad).
- Gibt zurück:
- Andere Parameter:
- dataindizierbares Objekt, optional
Wenn angegeben, akzeptieren die folgenden Parameter auch einen String
s, der alsdata[s]interpretiert wird, wennsein Schlüssel indataistx, y, s, linewidths, edgecolors, c, facecolor, facecolors, color
- **kwargs
PathCollectionEigenschaften 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
Array-ähnlich oder float oder None
bool
antialiasedoderaaoderantialiasedsbool oder Liste von bools
Array-ähnlich oder None
CapStyleoder {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
BboxBaseoder Nonebool
Patch oder (Path, Transform) oder None
Colormapoder str oder NoneFarbe oder Liste von RGBA-Tupeln
edgecoloroderecoderedgecolorsfacecoloroderfacecolorsoderfcstr
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
unknown
bool
JoinStyleoder {'miter', 'round', 'bevel'}object
linestyleoderdashesoderlinestylesoderlsstr oder Tupel oder Liste davon
linewidthoderlinewidthsoderlwfloat oder Liste von floats
bool
Normalizeoder str oder None(N, 2) oder (2,) Array-ähnlich
Liste von
AbstractPathEffectunknown
None oder bool oder float oder callable
float
bool
sizesnumpy.ndarrayoder None(scale: float, length: float, randomness: float)
bool oder None
str
Liste von str oder None
bool
float
Siehe auch
plotZum Zeichnen von Streudiagrammen, wenn die Marker in Größe und Farbe identisch sind.
Anmerkungen
Hinweis
Dies ist der pyplot-Wrapper für
axes.Axes.scatter.Die Funktion
plotist schneller für Streudiagramme, bei denen die Marker nicht in Größe oder Farbe variieren.Beliebige oder alle von x, y, s und c können Masken-Arrays sein, in diesem Fall werden alle Masken kombiniert und nur nicht maskierte Punkte werden gezeichnet.
Grundsätzlich arbeitet scatter mit 1D-Arrays; x, y, s und c können als N-D-Arrays eingegeben werden, aber innerhalb von scatter werden sie abgeflacht. Die Ausnahme ist c, das nur abgeflacht wird, wenn seine Größe mit der von x und y übereinstimmt.