Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将图例正确添加到seaborn连接地块_Python_Matplotlib_Seaborn - Fatal编程技术网

Python 将图例正确添加到seaborn连接地块

Python 将图例正确添加到seaborn连接地块,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,我在seaborn jointplot中绘制了两个分布,如下所示: graph = sns.jointplot(setosa.sepal_width, setosa.sepal_length, cmap="Reds", kind="kde", marginal_kws={"color":"r", "alpha":.2}, shade=True, shade_low

我在seaborn jointplot中绘制了两个分布,如下所示:

graph = sns.jointplot(setosa.sepal_width, setosa.sepal_length,
                 cmap="Reds", kind="kde", marginal_kws={"color":"r", "alpha":.2}, shade=True, shade_lowest=False, alpha=.5)

graph.x = virginica.sepal_width
graph.y = virginica.sepal_length
graph.plot_joint(sns.kdeplot, cmap="Blues", shade=True, shade_lowest=False, alpha=.5)
ax = plt.gca()
ax.legend(["setosa", "virginica"])
graph.plot_marginals(sns.kdeplot, color='b', shade=True, alpha=.2, legend=False)


请注意图例中的
setosa
virginica
左侧没有颜色。是否有任何方法可以正确地将图例添加到seaborn中的jointplot中?

您可以将
标签
添加到两个打印调用中,并从
ax.legend()
中删除名称。因此,完整的示例(请参见
#此处的更改
注释):


谢谢。绘图是不同的,因为我不小心将维吉尼亚标记为塞托萨。这正是我想要的!
import seaborn as sns
import matplotlib.pyplot as plt

#I'm taking a stab at defining what you had
#the resulting plot is different
#but method still applies
iris = sns.load_dataset("iris")
setosa = iris[iris['species'] == 'setosa']
virginica = iris[iris['species'] == 'virginica']

graph = sns.jointplot(setosa.sepal_width, setosa.sepal_length,
                 cmap="Reds", kind="kde", marginal_kws={"color":"r", "alpha":.2}, shade=True, shade_lowest=False, alpha=.5,
                 label='setosa')      ## CHANGE HERE

graph.x = virginica.sepal_width
graph.y = virginica.sepal_length
graph.plot_joint(sns.kdeplot, cmap="Blues", shade=True, shade_lowest=False, alpha=.5, label='virginica')   ## CHANGE HERE
graph.set_axis_labels()
ax = plt.gca()
ax.legend()  #CHANGE HERE
graph.plot_marginals(sns.kdeplot, color='b', shade=True, alpha=.2, legend=False)