【问题标题】:Plot pandas dataframe using column names as x axis使用列名作为 x 轴绘制 pandas 数据框
【发布时间】:2020-04-01 13:27:28
【问题描述】:

我有以下熊猫数据框:

我需要使用列名(400, 400.5, 401....) 作为 x 轴,数据框值作为 y 轴,并使用索引列 ('fluorophore') 作为该线图的标签来制作线图。我希望能够选择要绘制的fluorophores

我怎样才能做到这一点?

【问题讨论】:

    标签: python pandas matplotlib plot


    【解决方案1】:

    我不知道你的数据集,所以如果它总是只是完整的 NaN 列,你可以这样做

    df[non_nan_cols].T[['FAM', 'TET']].plot.line()
    

    non_nan_cols 是不包含 NaN 值的列的列表。

    你也可以

    choice_of_fp = df.index.tolist()
    x_val = np.asarray(df.columns.tolist())
    for i in choice_of_fp:
        mask = np.isfinite(df.loc[i].values)
        plt.plot(x_val[mask], df.loc[i].values[mask], label=i)
    plt.legend()
    plt.show()
    

    允许具有 NaN 值。这里choice_of_fp 是一个包含您要绘制的荧光团的列表。

    【讨论】:

      【解决方案2】:

      您可以执行以下操作,它将使用除索引之外的所有列并绘制图表。

      abs_data.set_index('fluorophore ').plot()
      

      如果你想过滤荧光团的值,那么你可以这样做

      abs_data[abs_data.fluorophore .isin(['A', 'B'])].set_index('fluorophore ').plot()
      

      【讨论】:

      • 谢谢,但这不起作用。我将列名作为不同图的标签
      猜你喜欢
      • 2017-07-18
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多