【问题标题】:Create multiple plots based on the entry of another column根据另一列的条目创建多个图
【发布时间】:2022-07-16 07:53:29
【问题描述】:

我想创建一个循环来根据“A”列中的值绘制“B”列中的数据,因此为 2020 年的“B”数据绘制一个图,为 2021 年的数据绘制一个单独的图。

A B
2020 10
2020 15
2021 18
2021 20
2021 15

到目前为止我尝试了什么,但并没有真正奏效,因为情节只是空的:

for A, data in df.groupby('A'):
    plt.plot(df.query('A=="{A}"')['B'], label=A)
    plt.savefig('plot_{}.png'.format(A))
    plt.show()

【问题讨论】:

    标签: python plot graphics


    【解决方案1】:

    如果我猜对了你想使用这个 df,这里有一个可能的解决方案:

    import pandas as pd
    import matplotlib.pyplot as plt 
    
    data = [[2020, 10], [2020, 15], [2021, 18], [2021, 20], [2021, 15]]
    df = pd.DataFrame(data, columns=['A', 'B'])
    
    groupby = df.groupby('A')
    dates = list(df['A'].unique())
    
    for i in dates:
        group1 = groupby.get_group(i)
        x = group1['A']
        y = group1['B']
        plt.figure(figsize=(18,14))
        plt.scatter(x, y, c ="blue", s=40)
        plt.xlabel('B')
        plt.ylabel(i)
        plt.show()
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2020-03-20
      • 2019-03-19
      • 2023-03-25
      • 2021-03-02
      • 2018-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多