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

matplot pandas在同一列上绘制多个Y值

  •  0
  • chowpay  · 技术社区  · 6 年前

    尝试使用matplot绘制,但线条基于非x,y列的值。

    例如,这是我的df:

    code reqs value
    AGB 253319 57010.16528
    农行242292 35660.58176
    DCC 240440 36587.45336型
    172441 57825.83052瑞士法郎
    定义148357 34129.71166
    

    它产生这个图df.plot(x='reqs',y='value',figsize=(8,4)):

    我要做的是绘制一个多行的图,每个代码对应一行。现在它只做一行,忽略代码列。

    我试图寻找答案,但每个人都要求多个Y,我没有多个Y,我有相同的Y,但焦点不同 (当然,我用了错误的术语来描述我想做的事情,希望这个例子和图像是有意义的)。

    结果应该是这样的: .

    它产生这个图df.plot(x='reqs',y='value',figsize=(8,4)):

    plot without codes

    我要做的是绘制一个多行的图,每个代码对应一行。现在它只做了一行,忽略了代码列。

    我试图寻找答案,但每个人都要求多个Y,我没有多个Y,我有相同的Y,但焦点不同 (当然,我用了错误的术语来描述我想做的事情,希望这个例子和图像是有意义的)

    结果应该是这样的:

    1 回复  |  直到 6 年前
        1
  •  0
  •   chowpay    6 年前

    因此,我研究出了如何准确地做^如果有人好奇:

    plt_df = df
    fig, ax = plt.subplots()
    
    for key,grp in plt_df.groupby(['code']):
        ax = grp.plot(ax=ax, kind ='line',x='reqs',y='value',label=key,figsize=(20,4),title = "someTitle")
    
    plt.show()