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 aBarContainer
oderPolygon
. Die Parameter Behälter , Bereich , Dichte und Gewichte werden an weitergeleitetnumpy.histogram
.Wenn die Daten bereits klassiert und gezählt wurden, verwenden Sie
bar
oderstairs
, 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
True
ist, 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
bottom
bis 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“,
barh
wird 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 IfFalse
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
BarContainer
oder Liste eines einzelnenPolygon
oder 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 alsdata[s]
(es sei denn, dies löst eine Ausnahme aus):x , Gewichte
- **Kwarg
Patch
Eigenschaften
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.