matplotlib.pyplot.hexbin#
- matplotlib.pyplot.hexbin(x, y, C=None, *, gridsize=100, bins=None, xscale='linear', yscale='linear', extent=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors='face', reduce_C_function=<function mean>, mincnt=None, marginals=False, colorizer=None, data=None, **kwargs)[Quellcode anzeigen]#
Erstellt ein 2D-Hexagonal-Binning-Diagramm von Punkten x, y.
Wenn C None ist, wird der Wert des Hexagons durch die Anzahl der Punkte im Hexagon bestimmt. Andernfalls gibt C Werte an der Koordinate (x[i], y[i]) an. Für jedes Hexagon werden diese Werte mit reduce_C_function reduziert.
- Parameter:
- x, yarray-ähnlich
Die Datenpositionen. x und y müssen die gleiche Länge haben.
- Carray-like, optional
Wenn angegeben, werden diese Werte in den Bins akkumuliert. Andernfalls hat jeder Punkt den Wert 1. Muss die gleiche Länge wie x und y haben.
- gridsizeint oder (int, int), Standard: 100
Wenn ein einzelner int, ist dies die Anzahl der Hexagone in x-Richtung. Die Anzahl der Hexagone in y-Richtung wird so gewählt, dass die Hexagone annähernd regelmäßig sind.
Alternativ, wenn ein Tupel (nx, ny), ist dies die Anzahl der Hexagone in x-Richtung und y-Richtung. In y-Richtung wird entlang vertikal ausgerichteter Hexagone gezählt, nicht entlang der Zickzack-Ketten von Hexagonen; siehe folgende Abbildung.
Um annähernd regelmäßige Hexagone zu erhalten, wählen Sie \(n_x = \sqrt{3}\,n_y\).
- bins'log' oder int oder Sequenz, Standard: None
Diskretisierung der Hexagonwerte.
Wenn None, wird keine Binning angewendet; die Farbe jedes Hexagons entspricht direkt seinem Zählwert.
Wenn 'log', wird eine logarithmische Skala für die Colormap verwendet. Intern wird \(log_{10}(i+1)\) verwendet, um die Hexagonfarbe zu bestimmen. Dies ist äquivalent zu
norm=LogNorm().Wenn ein Integer, werden die Zählwerte in die angegebene Anzahl von Bins aufgeteilt und die Hexagone entsprechend eingefärbt.
Wenn eine Sequenz von Werten, sind dies die Werte der unteren Grenze der zu verwendenden Bins.
- xscale{'linear', 'log'}, Standard: 'linear'
Verwenden Sie eine lineare oder log10-Skala auf der horizontalen Achse.
- yscale{'linear', 'log'}, Standard: 'linear'
Verwenden Sie eine lineare oder log10-Skala auf der vertikalen Achse.
- mincntint >= 0, Standard: None
Wenn nicht None, werden nur Zellen mit mindestens mincnt Punkten in der Zelle angezeigt.
- marginalsbool, Standard: False
Wenn marginals True ist, werden die marginalen Dichten als eingefärbte Rechtecke am unteren Rand der x-Achse und links von der y-Achse geplottet.
- extent4-Tupel von float, Standard: None
Die Grenzen der Bins (xmin, xmax, ymin, ymax). Der Standardwert ordnet die Grenzen basierend auf gridsize, x, y, xscale und yscale zu.
Wenn xscale oder yscale auf 'log' gesetzt ist, werden die Grenzen als Exponenten für eine Potenz von 10 erwartet. Z.B. für x-Grenzen von 1 und 50 in 'linear'-Skala und y-Grenzen von 10 und 1000 in 'log'-Skala, geben Sie (1, 50, 1, 3) ein.
- Gibt zurück:
PolyCollectionEine
PolyCollection, die die hexagonale Binning definiert.PolyCollection.get_offsetsenthält ein Mx2-Array mit den x-, y-Positionen der M Hexagon-Zentren in Datenkoordinaten.PolyCollection.get_arrayenthält die Werte der M Hexagone.
Wenn marginals True ist, werden horizontale Balken und vertikale Balken (beides PolyCollections) als Attribute hbar und vbar an die Rückgabesammlungen angehängt.
- Andere Parameter:
- 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.
- 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.
- 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).- alphafloat zwischen 0 und 1, optional
Der Alpha-Mischwert, zwischen 0 (transparent) und 1 (opak).
- linewidthsfloat, Standard: None
Wenn None, wird standardmäßig
rcParams["patch.linewidth"](Standard:1.0) verwendet.- edgecolors{'face', 'none', None} oder Farbe, Standard: 'face'
Die Farbe der Hexagonränder. Mögliche Werte sind
'face': Zeichne die Ränder in der gleichen Farbe wie die Füllfarbe.
'none': Keine Ränder werden gezeichnet. Dies kann manchmal zu unschönen, unbemalten Pixeln zwischen den Hexagonen führen.
None: Zeichne Umrisse in der Standardfarbe.
Eine explizite Farbe.
- reduce_C_functioncallable, Standard:
numpy.mean Die Funktion zur Aggregation von C innerhalb der Bins. Sie wird ignoriert, wenn C nicht angegeben ist. Diese muss die Signatur haben
def reduce_C_function(C: array) -> float
Häufig verwendete Funktionen sind
numpy.mean: Durchschnitt der Punktenumpy.sum: Integral der Punktwertenumpy.amax: Wert des größten Punktes
Standardmäßig werden nur Zellen mit mindestens 1 Punkt reduziert, da einige Reduktionsfunktionen (wie
numpy.amax) bei leerer Eingabe Fehler/Warnungen ausgeben. Das Ändern von mincnt passt den Grenzwert an und wenn auf 0 gesetzt, wird die leere Eingabe an die Reduktionsfunktion übergeben.- 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.
- dataindizierbares Objekt, optional
Wenn angegeben, akzeptieren die folgenden Parameter auch einen String
s, der alsdata[s]interpretiert wird, wennsein Schlüssel indataistx, y, C
- **kwargs
PolyCollectionEigenschaften Alle anderen Schlüsselwortargumente werden an
PolyCollectionweitergeleitetEigenschaft
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
AbstractPathEffectliste von array-like
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
liste von array-like
unknown
bool
float
- cmapstr oder
Siehe auch
hist2d2D-Histogramm mit rechteckigen Bins
Anmerkungen
Hinweis
Dies ist der pyplot-Wrapper für
axes.Axes.hexbin.