我正在尝试使用来自2个或更多不均匀pandas数据帧的数据创建堆叠直方图?到目前为止,我可以让他们在彼此之上绘制图形,但不能叠加。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('dert.csv', encoding = "ISO-8859-1", index_col=0)
df1['text'] = df['text'].dropna(subset=['five'])
df2['printed'] = df['text2']
ax = df1['text'].hist( bins=100, range=(1,100), stacked=True, color = 'r')
ax = df2['printed'].hist(bins=100, range=(1,100), stacked=True, color = 'g')
plt.setp(ax.get_xticklabels(), rotation=45)
plt.show()
如何让它们堆叠?
我找到了一个解决方案,但它没有使用pandas dataframes Matplotlib, creating stacked histogram from three unequal length arrays
答案 0 :(得分:9)
该帖子中的方法应该有效:
plt.hist([df1['text'],df2['printed']],
bins=100, range=(1,100), stacked=True, color = ['r','g'])