首页 > 解决方案 > 条形图 绘制包含三列的数据框

问题描述

我有以下数据框数据:

data = [{'City': 'SF', 'Tools':'Subways', 'Numbers':10}, {'City': 'SF', 'Tools':'Foot', 'Numbers':4}, {'City': 'SF', 'Tools':'Bike', 'Numbers':8}, {'City': 'SF', 'Tools':'Skateboard', 'Numbers':2}, {'City': 'SF', 'Tools':'Ferry', 'Numbers':3}, {'City': 'Seattle', 'Tools':'Car', 'Numbers':15}, {'City': 'Seattle', 'Tools':'Train', 'Numbers':5}, {'City': 'Seattle', 'Tools':'Ferry', 'Numbers':9}, {'City': 'Seattle', 'Tools':'Bike', 'Numbers':9}, {'City': 'Boston', 'Tools':'Subway', 'Numbers':10}, {'City': 'Boston', 'Tools':'Car', 'Numbers':10}, {'City': 'Shanghai', 'Tools':'Car', 'Numbers':4}, {'City': 'Shanghai', 'Tools':'Subway', 'Numbers':20}]
df = pd.DataFrame(data)

我想像下面这样绘制它

不同类别的条形图

标签: python-3.xdataframematplotlib

解决方案


您可以旋转表格并绘制:

ax = df.pivot(index='City', columns='Tools', 
              values='Numbers').plot.bar(stacked=True)
ax.set_ylabel('Numbers')
plt.show()

输出:

在此处输入图像描述


推荐阅读