代码之家  ›  专栏  ›  技术社区  ›  ScalaBoy

如何为我的问题创建堆积条形图?

  •  2
  • ScalaBoy  · 技术社区  · 6 年前

    我有数据框架 df :

    df = pd.DataFrame(columns=["Event_type","Delay_class"], 
                      data=[["A1",0],
                            ["A1",0],
                            ["A2",1],
                            ["A3",1],
                            ["A1",1],
                            ["A2",0]])
    

    我想创建一个堆积条形图,其中X轴是 Event_type 每个条形图由每个 Delay_class .

    在我的示例中,我有两个值 延迟级 . 这意味着每根钢筋应堆放两个子钢筋。每个子栏的大小对应于延迟类的计数。

    例如,对于事件 A1 (x轴),y轴的值为2 延迟级 0,1用于 延迟级 1。y的总值 A1 将是3。

    我怎样才能得到这样的堆积条形图呢?

    这就是我所尝试的:

    df.set_index('Event_type').T.plot(kind='bar', stacked=True)
    
    1 回复  |  直到 6 年前
        1
  •  4
  •   BENY    6 年前

    你需要 crosstab + plot(kind='bar',stacked=True)

    pd.crosstab(df.Event_type,df.Delay_class).plot(kind='bar',stacked=True)
    

    enter image description here