matplotlib.pyplot.hist #

matplotlib.pyplot. hist ( x , bins = None , range = None , density = False , weights = None , cumulative = False , bottom = None , histtype = 'bar' , align = 'mid' , direction = 'vertikal' , rwidth = None , log = False , Farbe =None , label = None , stacked = False , * , data = None , ** kwargs ) [Quelle] #

Berechnen und zeichnen Sie ein Histogramm.

Diese Methode verwendet numpy.histogram, um die Daten in x zu klassifizieren und die Anzahl der Werte in jeder Klasse zu zählen, und zeichnet dann die Verteilung entweder als a BarContaineroder Polygon. Die Parameter Behälter , Bereich , Dichte und Gewichte werden an weitergeleitet numpy.histogram.

Wenn die Daten bereits klassiert und gezählt wurden, verwenden Sie baroder stairs, um die Verteilung darzustellen:

counts, bins = np.histogram(x)
plt.stairs(bins, counts)

Alternativ können Sie vorberechnete Bins und Zählwerte darstellen, hist()indem Sie jeden Bin als einen einzelnen Punkt mit einer Gewichtung behandeln, die seiner Zählung entspricht:

plt.hist(bins[:-1], bins, weights=counts)

Die Dateneingabe x kann ein einzelnes Array, eine Liste von Datensätzen potenziell unterschiedlicher Länge ([ x0 , x1 , ...]) oder ein 2D-Array sein, in dem jede Spalte ein Datensatz ist. Beachten Sie, dass die ndarray-Form relativ zur Listenform transponiert ist. Wenn die Eingabe ein Array ist, dann ist der Rückgabewert ein Tupel ( n , bins , patches ); Wenn die Eingabe eine Folge von Arrays ist, dann ist der Rückgabewert ein Tupel ([ n0 , n1 , ...], bins , [ patches0 , patches1 , ...]).

Maskierte Arrays werden nicht unterstützt.

Parameter :
x (n,) Array oder Folge von (n,) Arrays

Eingabewerte, dies erfordert entweder ein einzelnes Array oder eine Folge von Arrays, die nicht dieselbe Länge haben müssen.

bins int oder sequence oder str, Standard: rcParams["hist.bins"](Standard: 10)

Wenn bins eine Ganzzahl ist, definiert es die Anzahl von Bins gleicher Breite im Bereich.

Wenn Bins eine Sequenz ist, definiert es die Bin-Ränder, einschließlich des linken Rands des ersten Bins und des rechten Rands des letzten Bins; in diesem Fall können Behälter ungleich beabstandet sein. Alle bis auf den letzten (ganz rechts) Behälter sind halb offen. Mit anderen Worten, wenn bins ist:

[1, 2, 3, 4]

dann ist der erste Behälter (einschließlich 1, aber ohne 2) und der zweite . Der letzte Behälter ist jedoch , der 4 enthält .[1, 2)[2, 3)[3, 4]

Wenn bins ein String ist, ist es eine der Binning-Strategien, die von numpy.histogram_bin_edges'auto', 'fd', 'doane', 'scott', 'stone', 'rice', 'sturges' oder 'sqrt' unterstützt werden.

Bereichstupel oder None, Standard: None

Der untere und obere Bereich der Bins. Untere und obere Ausreißer werden ignoriert. Wenn nicht angegeben, ist der Bereich . Der Bereich hat keine Auswirkung, wenn bins eine Sequenz ist.(x.min(), x.max())

Wenn Bins eine Sequenz ist oder ein Bereich angegeben ist, basiert die automatische Skalierung auf dem angegebenen Bin-Bereich statt auf dem Bereich von x.

Dichte bool, Standard: False

Wenn True, zeichne eine Wahrscheinlichkeitsdichte und gib sie zurück: Jeder Bin zeigt die rohe Anzahl des Bins dividiert durch die Gesamtzahl der Zählungen und die Bin-Breite ( ), sodass der Bereich unter dem Histogramm zu 1 integriert wird ( ).density = counts / (sum(counts) * np.diff(bins))np.sum(density * np.diff(bins)) == 1

Wenn Stacked auch ist True, wird die Summe der Histogramme auf 1 normalisiert.

Gewichte (n,) Array-ähnlich oder Keine, Standard: Keine

Ein Array von Gewichtungen in der gleichen Form wie x . Jeder Wert in x trägt nur sein zugeordnetes Gewicht zur Bin-Zählung bei (statt 1). Wenn die Dichte ist True, werden die Gewichtungen normalisiert, sodass das Integral der Dichte über den Bereich 1 bleibt.

kumulativer bool oder -1, Standard: False

Wenn True, wird ein Histogramm berechnet, in dem jeder Bin die Zählwerte in diesem Bin plus alle Bins für kleinere Werte angibt. Der letzte Bin gibt die Gesamtzahl der Datenpunkte an.

Wenn die Dichte ebenfalls Trueist, wird das Histogramm so normalisiert, dass das letzte Bin gleich 1 ist.

Wenn kumulativ eine Zahl kleiner als 0 ist (z. B. -1), wird die Richtung der Akkumulation umgekehrt. Wenn in diesem Fall auch die Dichte ist True, wird das Histogramm so normalisiert, dass das erste Bin gleich 1 ist.

unten Array-ähnlich, Skalar oder None, Standard: None

Position des Bodens jedes Behälters, dh. Bins werden gezogen von bottombis Bei einem Skalar wird der untere Rand jedes Bins um den gleichen Betrag verschoben. Bei einem Array wird jeder Behälter unabhängig verschoben und die Länge des Bodens muss mit der Anzahl der Behälter übereinstimmen. Wenn keine, wird standardmäßig 0 verwendet.bottom + hist(x, bins)

histtype {'bar', 'barstacked', 'step', 'stepfilled'}, default: 'bar'

Der Typ des zu zeichnenden Histogramms.

  • 'bar' ist ein traditionelles Balken-Histogramm. Bei mehreren Angaben werden die Balken nebeneinander angeordnet.

  • „barstacked“ ist ein Balken-Histogramm, in dem mehrere Daten übereinander gestapelt sind.

  • 'step' erzeugt ein Liniendiagramm, das standardmäßig ungefüllt ist.

  • 'stepfilled' erzeugt ein Liniendiagramm, das standardmäßig gefüllt ist.

Ausrichtung {'links', 'mitte', 'rechts'}, Standard: 'mitte'

Die horizontale Ausrichtung der Histogrammbalken.

  • 'links': Balken sind an den linken Bin-Rändern zentriert.

  • 'mid': Balken werden zwischen den Bin-Kanten zentriert.

  • 'right': Balken sind an den rechten Bin-Rändern zentriert.

Ausrichtung {'vertikal', 'horizontal'}, Standard: 'vertikal'

Wenn „horizontal“, barhwird es für Histogramme vom Balkentyp verwendet und das untere Kwarg sind die linken Ränder.

rwidth float oder None, Standard: None

Die relative Breite der Balken als Bruchteil der Bin-Breite. Wenn None, automatisch die Breite berechnen.

Wird ignoriert, wenn histtype 'step' oder 'stepfilled' ist.

log bool, Standard: False

Wenn True, wird die Histogrammachse auf eine logarithmische Skala eingestellt.

Farbe Farbe oder Array-ähnliche Farben oder Keine, Standard: Keine

Farbe oder Farbfolge, eine pro Datensatz. Standard ( None) verwendet die standardmäßige Linienfarbsequenz.

label str oder None, Standard: None

String, or sequence of strings to match multiple datasets. Bar charts yield multiple patches per dataset, but only the first gets the label, so that legend will work as expected.

stackedbool, default: False

If True, multiple data are stacked on top of each other If False multiple data are arranged side by side if histtype is 'bar' or on top of each other if histtype is 'step'

Returns:
narray or list of arrays

Die Werte der Histogramm-Bins. Siehe Dichte und Gewichte für eine Beschreibung der möglichen Semantik. Wenn input x ein Array ist, dann ist dies ein Array der Länge nbins . Wenn input eine Folge von Arrays ist, dann ist dies eine Liste von Arrays mit den Werten der Histogramme für jedes der Arrays in derselben Reihenfolge. Der dtype des Arrays n (oder seiner Elementarrays) ist immer Float, auch wenn keine Gewichtung oder Normalisierung verwendet wird.[data1, data2, ...]

Bins -Array

Die Kanten der Behälter. Länge nbins + 1 (nbins linke Ränder und rechte Kante des letzten Bins). Immer ein einzelnes Array, auch wenn mehrere Datensätze übergeben werden.

Patches BarContaineroder Liste eines einzelnen Polygonoder Liste solcher Objekte

Container einzelner Künstler, die zum Erstellen des Histogramms oder der Liste solcher Container verwendet werden, wenn mehrere Eingabedatensätze vorhanden sind.

Andere Parameter :
data indexierbares Objekt, optional

Falls angegeben, akzeptieren die folgenden Parameter auch einen String s, der interpretiert wird als data[s](es sei denn, dies löst eine Ausnahme aus):

x , Gewichte

**Kwarg

PatchEigenschaften

Siehe auch

hist2d

2D-Histogramm mit rechteckigen Bins

hexbin

2D-Histogramm mit sechseckigen Bins

Anmerkungen

Bei einer großen Anzahl von Bins (>1000) kann das Plotten deutlich schneller sein, wenn histtype auf „step“ oder „stepfilled“ statt auf „bar“ oder „barstacked“ eingestellt ist.

Beispiele mit matplotlib.pyplot.hist#

Pyplot-Text

Pyplot-Text

Pyplot-Text
Animiertes Histogramm

Animiertes Histogramm

Animiertes Histogramm
SVG-Histogramm

SVG-Histogramm

SVG-Histogramm
Pyplot-Tutorial

Pyplot-Tutorial

Pyplot-Tutorial
Bild-Tutorial

Bild-Tutorial

Bild-Tutorial