使用Pandas数据框创建堆叠直方图
我正在尝试用两个或更多不均匀的 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 数据框,具体可以参考这个链接:Matplotlib,如何从三个不等长的数组创建堆叠直方图
1 个回答
28
那篇文章中的方法应该是有效的:
plt.hist([df1['text'],df2['printed']],
bins=100, range=(1,100), stacked=True, color = ['r','g'])