Bin-Größe in Matplotlib (Histogramm)
Ich bin mit matplotlib, um ein Histogramm.
Grundsätzlich Frage ich mich, ob es irgendeinen Weg gibt, manuell die Größe der Ablagen im Gegensatz zu der Anzahl der Plätze.
Jeder, der Ideen wird sehr geschätzt.
Dank
InformationsquelleAutor der Frage Sam Creamer | 2011-08-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eigentlich ist es ganz einfach: statt die Anzahl der Plätze, die Sie geben können, eine Liste mit den bin-Grenzen. Sie kann ungleich verteilt werden, auch:
Wenn Sie wollen einfach nur diese gleichmäßig verteilt, kann man einfach einen Bereich:
Hinzugefügt, um original-Antwort
Die obige Zeile funktioniert für
data
gefüllt mit ganzen zahlen nur. Als macrocosme Punkte aus, für Schwimmer, die Sie verwenden können:InformationsquelleAutor der Antwort CodingCat
Für N bins, bin-Kanten angegeben werden, die durch Liste von N+1 Werte, in denen die ersten N geben Sie die unteren Kanten bin und das +1 gibt, die Obere Kante der Letzte bin.
Code:
Beachten Sie, dass linspace erzeugt array aus min_edge zu max_edge aufgeteilt in N+1 Werte oder N bins
InformationsquelleAutor der Antwort user1048442
Ich denke, der einfache Weg wäre, zu berechnen, minimum und maximum der Daten, die Sie haben, dann berechnen
L = max - min
. Dann teilen SieL
durch die gewünschte bin-Breite (ich ' m vorausgesetzt, dies ist, was Sie damit gemeint bin-Größe) und die Obergrenze dieser Wert als die Anzahl der Plätze.InformationsquelleAutor der Antwort Il-Bhima
Hatte ich das gleiche Problem wie OP (denke ich!), aber ich konnte es nicht zu funktionieren in der Weise, dass Lastalda angegeben. Ich weiß nicht, ob ich interpretierte die Frage richtig, aber ich habe eine andere Lösung gefunden (es ist wahrscheinlich ein wirklich schlechter Weg, es zu tun, obwohl).
War dies die Art und Weise, dass ich es gemacht habe:
plt.hist([1,11,21,31,41], bins=[0,10,20,30,40,50], weights=[10,1,40,33,6]);
Erstellt:
Also der erste parameter im Grunde 'initialisiert' der bin - bin ich speziell die Schaffung einer Anzahl, die zwischen den Reihe ich in die Abfalleimer parameter.
Um dies zu demonstrieren, betrachten Sie das array im ersten parameter ([1,11,21,31,41]) und die 'Behälter' - array im zweiten parameter ([0,10,20,30,40,50]):
Dann bin ich mit dem 'GEWICHTE' parameter definieren Sie die Größe jeder bin. Dies ist das array für die GEWICHTE parameter: [10,1,40,33,6].
Also die 0 bis 10 bin-erhält den Wert 10, die 11 bis 20 bin-erhält den Wert 1, die 21 bis 30 bin ist mit einem Wert von 40, usw.
InformationsquelleAutor der Antwort bluguy
Für ein Histogramm mit ganzzahligen x-Werte landete ich mit
Den offset von 0.5 zentriert den Behälter auf der x-Achse Werte. Die
plt.xticks
Aufruf fügt ein Häkchen für jeden integer.InformationsquelleAutor der Antwort Adversus