使用lmplot的matplotlib图例

时间:2017-11-01 03:01:13

标签: python pandas matplotlib seaborn

g = sns.lmplot(x='x', y='y', df, fit_reg=False, hue='z', lowess=True, scatter_kws={'alpha': 0.5}, legend=True)
plt.legend(bbox_to_anchor=(1.01, 0.5), ncol=2)

在上面的代码中,如果我设置legend=True,我会得到默认的单列seaborn图例和matplotlib图例。如果我设置'legend = False',那么我就不会。如何仅绘制matplotlib 2列图例?

1 个答案:

答案 0 :(得分:2)

通过legend访问g.ax媒体资源:

# example data
N = 100
data = {"x":np.random.random(N),
        "y":np.random.random(N),
        "z":np.random.choice([0,1], size=N)}
df = pd.DataFrame(data)

g = sns.lmplot(x='x', y='y', data=df, fit_reg=False, hue='z', 
               lowess=True, scatter_kws={'alpha': 0.5}, legend=False)
g.ax.legend(bbox_to_anchor=(1.01, 0.5), ncol=2)

scatter plot