以下数据的分组条形图?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以下数据的分组条形图?相关的知识,希望对你有一定的参考价值。

我有一个简单的数据框:

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

答案

您可以在数据帧上使用内置的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代码

以上是关于以下数据的分组条形图?的主要内容,如果未能解决你的问题,请参考以下文章

Pandas Dataframe 到 Seaborn 分组条形图

使用 seaborn 对数据进行分组后的条形图

如何在分组条形图上方显示百分比

ggplot - 如何堆叠和分组条形图?

Echarts堆积条形图如何处理数据

Python中的分组、百分比和条形图