Gibt es einen Parameter in matplotlib / pandas, um die Y-Achse eines Histogramms als Prozentsatz zu haben?
Ich würde gerne den Vergleich von zwei Histogrammen durch die Y-Achse zeigt den Prozentsatz für jede Spalte aus dem gesamten dataset-Größe, statt einen absoluten Wert. Ist das möglich? Ich bin mit Pandas und matplotlib.
Dank
Kommentar zu dem Problem - Öffnen
Hinzufügen von
normed=True
in Ihrem plt.hist()
. Danke! für einige Grund, die option ist nicht dokumentiert unter pandas.pydata.org/pandas-docs/dev/generated/... . Ich bin jedoch immer Werte auf der Y-Achse gleich sind und großer als 1 ist (z.B. 1.4). Keine Ahnung, wie das möglich ist? Meine intuition war, dass einmal normalisiert, die Werte sollten zwischen 0-1.
Das zweite problem!!!
InformationsquelleAutor der Frage d1337 | 2013-07-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
normed=True
gibt ein Histogramm für dienp.sum(pdf * np.diff(bins))
gleich 1 ist. Wenn Sie möchten, dass die Summe der Histogramm-1 sein, die Sie verwenden können, Numpy - Histogramm() und normalisieren Sie die Ergebnisse selbst.Btw: Seltsam, Plotten glitch bei der ersten bin der linke plot.
InformationsquelleAutor der Antwort Rutger Kassies
Pandas zeichnen können akzeptieren keine extra Schlüsselwort-Argumente aus den jeweiligen matplotlib Funktion. So der Vollständigkeit halber aus den Kommentaren der anderen hier, dies ist, wie man es tun würde:
Auch, zum direkten Vergleich kann dies ein guter Weg:
InformationsquelleAutor der Antwort rshield
Sieht aus wie @CarstenKönig den richtigen Weg gefunden:
InformationsquelleAutor der Antwort hobs
Können Sie vereinfachen die Gewichtung mit np.ones_like():
InformationsquelleAutor der Antwort Christoph Schranz