【问题标题】:How draw two curves for a given dataframe? [duplicate]如何为给定的数据框绘制两条曲线? [复制]
【发布时间】:2021-07-29 00:48:13
【问题描述】:

我有一个如下的数据框:

        f-measure   perc%
class_0  0.98       0.25
class_1  0.86       0.25
class_0  0.98       0.33
class_1  0.86       0.33
class_0  0.97       1.00
class_1  0.75       1.00

如何绘制一条显示 f 度量的曲线,其中x-axis 代表perc% 列,y-axis 代表 f 度量。我想我需要两条曲线,一条用于class_0,另一条用于class_1。那么如何在同一个图中绘制两条曲线呢?如果需要,您可以修改数据框的结构。

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    最快的方法是使用来自seaborn 包的.lineplot

    import seaborn as sns
    sns.lineplot(x='perc%', y='f-measure', hue='index', data=df.reset_index())
    

    这与:

    for c in df.index.unique():
        plt.plot(df.loc[c, 'perc%'], df.loc[c, 'f-measure'], label=c)
    plt.xlabel('perc%')
    plt.ylabel('f-measure')
    plt.legend(title='index')
    

    输出将是这样的:

    【讨论】:

    • 两者都不一样。第二个在标签的图例中生成
    猜你喜欢
    • 2017-10-14
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 2019-08-31
    相关资源
    最近更新 更多