Da ich nicht sicher bin, ob das potentielles Duplikat icate beantwortet hier die Frage, das ist ein Weg, um ein gestapeltes Histogramm unter Verwendung der numpy.histogram
und Matplotlib bar
Handlung zu erzeugen.
import pandas as pd
import numpy as np;np.random.seed(1)
import matplotlib.pyplot as plt
df = pd.DataFrame({"x" : np.random.exponential(size=100),
"class" : np.random.choice([1,2,5],100)})
_, edges = np.histogram(df["x"], bins=10)
histdata = []; labels=[]
for n, group in df.groupby("class"):
histdata.append(np.histogram(group["x"], bins=edges)[0])
labels.append(n)
hist = np.array(histdata)
histcum = np.cumsum(hist,axis=0)
plt.bar(edges[:-1],hist[0,:], width=np.diff(edges)[0],
label=labels[0], align="edge")
for i in range(1,len(hist)):
plt.bar(edges[:-1],hist[i,:], width=np.diff(edges)[0],
bottom=histcum[i-1,:],label=labels[i], align="edge")
plt.legend(title="class")
plt.show()
Werfen Sie einen Blick auf diese Lösung: https://stackoverflow.com/questions/19584029/plotting-histograms-from-grouped-data-in-a-pandas-dataframe –
Mögliche doppelte von [Plotten von Histogrammen aus gruppierten Daten in einem Pandas DataFrame] (https://stackoverflow.com/questions/19584029/plotten-histograms-from-grouped-data-in-a-pandas-dataframe) –
@JohannesWachs Würdest du mir etwas erzählen In wie weit ist das ein Duplikat? Welche der Lösungen für die verknüpfte Frage würde hier gelten? (Ich bin immer dafür, Dupes zu schließen, aber ich kann derzeit nicht sehen, welche davon helfen würde, ein gestapeltes Histogramm zu erstellen.) – ImportanceOfBeingErnest