Python 如何将子批次的标签设置为某个列的条目?

Python 如何将子批次的标签设置为某个列的条目?,python,matplotlib,Python,Matplotlib,我从经济合作与发展组织(OECD)获得了失业数据,该数据的月值约为20个国家。它有“位置”、“时间”、“值”列。我从这20个国家中选择了4个国家的数据,我想将它们绘制在一个图中。如何将每个图的标签作为国家名称?以下代码给出的标签都是“值” 我尝试在结尾添加plt.legend(df.LOCATION.unique()),但我认为颜色与国家名称不匹配 import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(1

我从经济合作与发展组织(OECD)获得了失业数据,该数据的月值约为20个国家。它有“位置”、“时间”、“值”列。我从这20个国家中选择了4个国家的数据,我想将它们绘制在一个图中。如何将每个图的标签作为国家名称?以下代码给出的标签都是“值”

我尝试在结尾添加
plt.legend(df.LOCATION.unique())
,但我认为颜色与国家名称不匹配

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)

df.groupby('LOCATION').plot(x='TIME', y='Value', ax=ax, legend=True)
plt.show();

我想我可以通过为每个国家逐个添加一个图表并手动设置标签来做到这一点,但有没有更简单的方法

我不完全确定这是否是您想要的(请展示一些示例数据以供澄清),但可能:

导入matplotlib.pyplot作为plt
图=plt.图()
ax=图添加_子批次(111)
df.groupby(“位置”)。适用(
lambda dfl:ax.plot(dfl[“时间”]、dfl[“值”]、label=dfl[“位置”]。unique()[0])
)
ax.图例()