我想在一个直方图中绘制两个不同的 Dataframe (每个 Dataframe 只有一列)。
d1 = {'Size': ['Big', 'Big', 'Normal','Big']}
df1 = pd.DataFrame(data=d1)
d2 = {'Size': ['Small','Normal','Normal','Normal', 'Small', 'Big', 'Big', 'Normal','Big']}
df2 = pd.DataFrame(data=d2)
#Plotting in one histogram
df1['Size'].value_counts().plot.bar(label = "df1")
df2['Size'].value_counts().plot.bar(label = "df2", alpha = 0.2,color='purple')
plt.legend(loc='upper right')
plt.show()
问题是直方图的x轴仅对df 2正确。对于df 1,应有3个“big”值和1个“normal”值:
histogram of df1 and df2.
我已经尝试了多种方法来生成图,这是最接近我想要的,这是两个 Dataframe 在同一个直方图,不同的颜色。
理想情况下,它们应该是并排的,但我没有设法找到如何做到这一点,而且“stacked = False”在这里不起作用。
任何帮助都欢迎。谢谢!
1条答案
按热度按时间iyzzxitl1#
可以对显式X值执行
reindex
:输出:
另一种选择:
输出: