【问题标题】:multiple matplotlib chart using loop使用循环的多个matplotlib图表
【发布时间】:2019-11-15 19:47:11
【问题描述】:

我需要使用 for 循环绘制多个 matploblib 图表。 我有来自多列数据点和时间序列“年”的数据。我需要为每一列创建图表。

我有以下代码:

df=pd.DataFrame({'Time':['2014','2015','2016','2017','2018','2019'],
            'A':[1,8,3,10,5,6],
            'B':[2,3,5,2,3,5],
            'C':[7,4,12,11,8,1],
            'D':[3,4,2,2,7,7]})

             x_pos=range(len(df['Time']))
             m,c = np.polyfit(x_pos,df['A'],1)

             plt.scatter(x=x_pos,y='A',data=df)
             plt.plot(x_pos,m*x_pos+c,'--r')

感谢任何帮助

【问题讨论】:

    标签: loops matplotlib


    【解决方案1】:

    我能够弄清楚。我使用 ma​​tplotlib.gridspec 来实现这一点。

    解决方法如下:

    df=pd.DataFrame({'Time':['2014','2015','2016','2017','2018','2019'],
            'A':[1,8,3,10,5,6],
            'B':[2,3,5,2,3,5],
            'C':[7,4,12,11,8,1],
            'D':[3,4,2,2,7,7]})
    
    #import gridspec to fit subplots
    import matplotlib.gridspec as gridspec
    fig = plt.figure(figsize=(10,10))
    
    # set grid size 2*2
    ggpec = gridspec.GridSpec(2, 2)
    getaxs = []
    
    datacolumns = list(df[['A','B','C','D']])
    for i,j in zip(datacolumns,range(1,len(datacolumns)+1)):   
        xpos=range(len(df['Time']))
        getaxs.append(fig.add_subplot(ggpec[j - 1]))
        m,c = np.polyfit(x_pos,df['A'],1)
        getaxs[-1].scatter(x=xpos,y=i,data=df)
        getaxs[-1].plot(x_pos,m*x_pos+c,'--r')
    
    plt.show()
    

    最终结果如下:

    【讨论】:

      猜你喜欢
      • 2016-06-19
      • 2019-07-21
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 2014-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多