【问题标题】:Bar chart Plot a dataframe with three columns条形图 绘制包含三列的数据框
【发布时间】:2021-02-10 01:54:07
【问题描述】:

我有以下数据框数据:

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.x dataframe matplotlib


    【解决方案1】:

    您可以旋转表格和绘图:

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

    输出:

    【讨论】:

      猜你喜欢
      • 2020-01-09
      • 2023-01-08
      • 2018-11-02
      • 2022-01-20
      • 2021-09-29
      • 2021-05-04
      • 1970-01-01
      相关资源
      最近更新 更多