Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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
Matplotlib 绘制多个seaborn绘图时不显示图例_Matplotlib_Seaborn - Fatal编程技术网

Matplotlib 绘制多个seaborn绘图时不显示图例

Matplotlib 绘制多个seaborn绘图时不显示图例,matplotlib,seaborn,Matplotlib,Seaborn,我通常不会对matplotlib legend有任何问题,但这是我第一次在多个seaborn绘图中使用它,以下内容不起作用 fig = plt.figure(figsize=(10,6)) a =sns.regplot(x='VarX', y='VarY1', data=data) b = sns.regplot(x='VarX', y='VarY2', data=data) c = sns.regplot(x='VarX', y='VarY3', data=data) fig.legend(h

我通常不会对matplotlib legend有任何问题,但这是我第一次在多个seaborn绘图中使用它,以下内容不起作用

fig = plt.figure(figsize=(10,6))
a =sns.regplot(x='VarX', y='VarY1', data=data)
b = sns.regplot(x='VarX', y='VarY2', data=data)
c = sns.regplot(x='VarX', y='VarY3', data=data)
fig.legend(handles=[a, b, c],labels=['First','Second','Third'])
fig.show()

我做错了什么?

seaborn.regplot返回一个轴。无法从轴创建图例代理控制柄。然而,这甚至不是必要的。从图例中删除
句柄
,它将给出所需的绘图

import matplotlib.pyplot as plt
import numpy as np; np.random.seed(1)
import pandas as pd
import seaborn as sns

data=pd.DataFrame({"VarX" : np.arange(10), 
                   'VarY1': np.random.rand(10),
                   'VarY2': np.random.rand(10),
                   'VarY3': np.random.rand(10)})

fig = plt.figure(figsize=(10,6))
sns.regplot(x='VarX', y='VarY1', data=data)
sns.regplot(x='VarX', y='VarY2', data=data)
sns.regplot(x='VarX', y='VarY3', data=data)
fig.legend(labels=['First','Second','Third'])
plt.show()

对我不起作用:它给出了“TypeError:legend()缺少1个必需的位置参数:'handles'”。我使用的是matplotlib v2.0.2是的,
fig.legend()
仅在2.1以后才可能使用。但是您可以调用轴上的图例,因为所有绘图都是该轴的一部分,
ax.legend()