为图例后贴图添加标签

时间:2015-09-11 14:51:09

标签: python matplotlib legend

我必须绘制2条线,然后测量它们之间的绝对距离。然后该距离成为图例的标签。 伪代码看起来像这样:

for line in file:
    # extract data here
    sample = sns.kdeplot(data)
    perfect_template = sns.kdeplot(perfect_template_data)
    sample_line = sample.get_lines()[iterate].get_data()
    perfect_line = perfect_template.get_lines()[iterate]get_data()
    absolute_diff = sum(abs(np.diff(zip(sample_line, perfect_line))))
    label = absolute_diff
    sample = sns.kdeplot(data, linewidth=1, label=label)
    plt(legend)
pp.savefig()

这需要我两次绘制sns.kdeplot。 有没有办法将标签添加到初始sns.kdeplot而无需重新绘图?

1 个答案:

答案 0 :(得分:1)

您可以像这样使用set_label()

sample.set_label(label)

即。最小的例子:

x = np.linspace(0, 2*np.pi)
y = np.sin(x)
y2 = np.sin(2*x)

first_line,  = plt.plot(x, y)
plt.plot(x, y2)

first_line.set_label('First line')

plt.legend()