【问题标题】:Y axis from one column x from different column into different subplots [duplicate]Y轴从一列x从不同列到不同的子图[重复]
【发布时间】:2020-12-03 10:08:38
【问题描述】:

您好,我有一个数据框:

data1 = {"x": [10,20,30,40,50], 
         "y": [0.01,0.02,0.03,0.04,0.05],
         "z": [0.11,0.12,0.13,0.14,0.15],
         "q": [0.21,0.22,0.23,0.24,0.25],}
df1 = pd.DataFrame (data1, columns = ['x','y','z','q'])

我想创建一个 x 与 y、z 和 q 的图作为图上的子图。

我已经这样做了,但是他们在同一个情节上

import matplotlib.pyplot as plt

plt.plot(df1['y'], df1['x'])
plt.plot(df1['z'], df1['x'])
plt.plot(df1['q'], df1['x'])

另外有没有办法为 eahc 行添加标签?

【问题讨论】:

    标签: python python-3.x pandas matplotlib plot


    【解决方案1】:

    要为每一行添加图例,您可以为每一行分配一个标签,然后调用plt.legend() 来绘制图例。

    import pandas as pd
    import matplotlib.pyplot as plt
    
    data1 = {"x": [10,20,30,40,50], 
             "y": [0.01,0.02,0.03,0.04,0.05],
             "z": [0.11,0.12,0.13,0.14,0.15],
             "q": [0.21,0.22,0.23,0.24,0.25],}
    df1 = pd.DataFrame (data1, columns = ['x','y','z','q'])
    
    plt.plot(df1['y'], df1['x'], label='y')
    plt.plot(df1['z'], df1['x'], label='z')
    plt.plot(df1['q'], df1['x'], label='q')
    
    plt.legend()
    
    plt.show()
    

    要将它们绘制在不同的子图上,您可以通过在 plt.subplots() 中定义 nrowsncols 参数来创建 mxn 子图。然后在每个坐标区对象上绘制数据。

    import pandas as pd
    import matplotlib.pyplot as plt
    
    data1 = {"x": [10,20,30,40,50], 
             "y": [0.01,0.02,0.03,0.04,0.05],
             "z": [0.11,0.12,0.13,0.14,0.15],
             "q": [0.21,0.22,0.23,0.24,0.25],}
    df1 = pd.DataFrame (data1, columns = ['x','y','z','q'])
    
    figure, axs = plt.subplots(nrows=1, ncols=3, figsize=(8, 4))
    
    axs[0].plot(df1['y'], df1['x'], label='y')
    axs[1].plot(df1['z'], df1['x'], label='z')
    axs[2].plot(df1['q'], df1['x'], label='q')
    
    axs[0].set_title('x against y')
    axs[1].set_title('x against z')
    axs[2].set_title('x against q')
    
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 2015-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      相关资源
      最近更新 更多