将图例添加到sns.regplot和sns.lmplot

时间:2018-12-20 21:40:26

标签: python matplotlib seaborn

我对Seaborn还是陌生的,想在这个情节中添加一个图例,以这种方式我没有发现不幸。

sns.lmplot(x="x", y="y4", data=data, order=2, scatter_kws={"s":5}, line_kws={"color": "red"}, ci=95)
sns.regplot(x="x", y="y4", data=data, scatter_kws={"s":5}, line_kws={"color": "green"}, )
plt.show();

enter image description here

我想成为传奇人物:
蓝点为data
绿线为y
红线为y^

我该如何解决?

1 个答案:

答案 0 :(得分:1)

我不知道您是如何生成散点图的。可能使用plt.scatter。但是,您可以按照以下方法将lmplotregplot的图例更改为

l = sns.lmplot(x="x", y="y4", data=data, order=2, scatter_kws={"s":5}, line_kws={"color": "red"}, ci=95)
r = sns.regplot(x="x", y="y4", data=data, scatter_kws={"s":5}, line_kws={"color": "green"}, )

labels = ['y^', 'y']

l._legend.texts[0].set_text(labels[0])
r._legend.texts[0].set_text(labels[1])

在这里,lr返回绘图实例,然后使用_legend访问相应的图例,并使用set_text重命名您选择的文本。 / p>