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



我从经合组织获得了失业数据,该数据每月有大约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();

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

我不完全确定这是否是您正在寻找的(请显示一些示例数据以进行澄清(,但也许:

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
df.groupby("LOCATION").apply(
lambda dfl: ax.plot(dfl["TIME"], dfl["Value"], label=dfl["LOCATION"].unique()[0])
)

ax.legend()

最新更新