条形图绘制一个包含三列的数据框

时间:2021-02-10 01:54:07

标签: python-3.x dataframe matplotlib

我有以下数据框数据:

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)

我想像下面这样绘制它

bar chart with different categories

1 个答案:

答案 0 :(得分:1)

您可以旋转表格和绘图:

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

输出:

enter image description here

相关问题