以下数据的分组条形图?

问题描述 投票:0回答:1

我有一个简单的数据框:

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轴是一个数值范围时遇到了问题。制作这样的图形的最佳代码是什么?

python highcharts
1个回答
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代码

© www.soinside.com 2019 - 2024. All rights reserved.