首页 > 解决方案 > 多线图中的错误图例

问题描述

我想创建一个图,其中包含与一个特定列中的值相关联的多行和图例。数据集是

index   Name    Frequency   Position
    0   User1   1   1
    1   User1   5   2
    2   User1   10  3
    3   User1   27  4
    4   User1   70  5
    5   User1   200 6
    6   User3   1   1
    7   User3   5   2
    8   User3   3   3
    9   User4   1   1

编码

fig, ax = plt.subplots(figsize=(10,8))
df.groupby('Name').plot(kind='line', x = "Position", y = "Frequency", ax=ax)
plt.legend()
plt.show()

正确地创建了一个多线图,但图例是错误的!事实上,频率是分配给图例的。有人可以解释我在哪里犯了错误吗?

标签: pythonpandasmatplotlib

解决方案


既然你提到你的多线图很好,试试这个:

fig, ax = plt.subplots(figsize=(10,8))
for name, group in df.groupby('Name'):
    group.plot(x = "Position", y= "Frequency", ax=ax, label=name)
plt.show()

结果 在此处输入图像描述


推荐阅读