隐藏Seaborn Pairplot中的图例

时间:2019-02-20 07:47:30

标签: python-3.x matplotlib seaborn

我想隐藏Seaborn对偶图例。官方文档没有提及关键字图例。我尝试使用plt.legend进行的所有操作均无效。请提出最佳的前进方式。谢谢!

import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

test = pd.DataFrame({
    'id': ['1','2','1','2','2','6','7','7','6','6'],
    'x': [123,22,356,412,54,634,72,812,129,110],
    'y':[120,12,35,41,45,63,17,91,112,151]})
sns.pairplot(x_vars='x', y_vars="y", 
                 data=test,
                 hue = 'id', 
                 height = 3)

3 个答案:

答案 0 :(得分:10)

由于_legend.remove()方法在其他海洋图上不起作用,所以:

plt.legend([],[], frameon=False)

答案 1 :(得分:4)

如果要删除所有子图上的图例,可以使用以下代码。

fig, axes = plt.subplots(2,5)

# ...

for ax in axes:
    ax.legend([],[], frameon=False)

答案 2 :(得分:1)

使用pairplot时,您需要返回Seabron Pairgrid对象,然后才能使用._legend访问Pairgrid的图例。然后只需调用remove()

import seaborn as sns

test = pd.DataFrame({
    'id': ['1','2','1','2','2','6','7','7','6','6'],
    'x': [123,22,356,412,54,634,72,812,129,110],
    'y':[120,12,35,41,45,63,17,91,112,151]})

g = sns.pairplot(x_vars='x', y_vars="y", data=test, hue = 'id', height = 3)
g._legend.remove()

enter image description here