我有一个简单的数据框:
value_df = pd.DataFrame([[5, 9, 'Washington'],
[7, 8, 'New York'],
[3, 10, 'Chicago']],
columns = ["Subscribers' Month", "Customers' Month", "City"])
print(value_df)
Subscriber Month Customer Month City
6 7 Washington
9 8 New York
6 7 Chicago
我想将这些数据绘制成一个分组的条形图,如:
有几个库,如altair
和ggplot
,我尝试用altair
包形成这个库,但是我在设置y轴为数值范围时遇到了问题。制作这样的图形的最佳代码是什么?
答案 0 :(得分:1)
您可以在数据框中使用内置的pandas
plot()
方法:
plt.style.use('ggplot')
f, ax = plt.subplots(figsize=(8,6))
value_df.plot(kind='bar', x='City', sharex=True, ax=ax, rot=0, color=['b','r'])
ax.set_title("Subscribers' month and Customers' month")
ax.set_xlabel("City")
ax.grid(axis="y", color="grey")
ax.set_facecolor("white")
plt.legend(bbox_to_anchor=(1.05, 1), loc=2)
plt.show()
您还可以将kwargs发送到matplotlib
对象,或者将图表返回到ax
,如果您希望它看起来与您的示例完全相同,请从那里执行其他格式设置。
编辑:链接到文档 EDIT2:matplotlib代码