以下数据的分组条形图?

时间:2018-01-12 16:48:56

标签: python highcharts

我有一个简单的数据框:

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

我想将这些数据绘制成一个分组的条形图,如:

Grouped chart example

有几个库,如altairggplot,我尝试用altair包形成这个库,但是我在设置y轴为数值范围时遇到了问题。制作这样的图形的最佳代码是什么?

1 个答案:

答案 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代码