创建具有多条线和图例的Matplotlib折线图

时间:2019-02-16 02:13:24

标签: python matplotlib

这是我的第一篇文章。我正在尝试为数据框中的每个“主题”绘制一条折线图,并用一条线。 x轴是“访问次数”列,y轴是“ dB”列。我也想要一个传说。数据如下:

Data for 4 subjects

但是,只有当我的数据框仅包含一个主题时,我才能使它起作用:

Data for one subject

plt.plot(test_df['Visit Number'], test_df['dB'], 'b-')
plt.show()

Plot for one subject

我想为每个主题画一条线。我还希望每个主题在图例中显示为标签。谢谢。

1 个答案:

答案 0 :(得分:0)

对于大熊猫,您可以迭代分组的值,因此,我建议您迭代子数据集并使用标签进行绘制,然后调用plt.legend()

这是我未完全测试的代码,请谨慎使用,并考虑下次提供可用的数据集样本,这更容易!

for subject, sub_df in testdf.groupby(by='subject'):
    plt.plot(sub_df['Visit Number'], sub_df['dB'], label=subject)
plt.legend()