如何从matplotlib中的绘图中删除重复图例

如何从matplotlib中的绘图中删除重复图例,matplotlib,Matplotlib,下面是我用来绘制图表的代码片段: plt.figure(figsize=(15,6)) plt.xticks(rotation='vertical') for frame in top20s: plt.plot(frame['name'][:20], frame['pb'][:20], label=frame.league) plt.legend() plt.show() 下面是我得到的: 如何删除图例中的所有重复项,并为每个绘图创建一个?问题在于,您正在使用整个数据帧列标记行。 相

下面是我用来绘制图表的代码片段:

plt.figure(figsize=(15,6))
plt.xticks(rotation='vertical')
for frame in top20s:
    plt.plot(frame['name'][:20], frame['pb'][:20], label=frame.league)
plt.legend()
plt.show()
下面是我得到的:


如何删除图例中的所有重复项,并为每个绘图创建一个?

问题在于,您正在使用整个数据帧列标记行。 相反,您可能只希望使用列的一个条目作为标签

也就是说,不使用
plt.plot(…,label=frame.league)


plt.plot(…,label=frame.league[0])

如果不知道数据的结构,很难说,请提供一个。请提供模型数据,特别是签出