如何将图例移到 seaborn 散点图之外?

How to move legend to outside of a seaborn scatterplot?

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
sns.set(style="darkgrid")

g = sns.scatterplot(x="Area", y="Rent/Sqft", hue="region", style="availability", data=df)

当我 运行 时,我得到下面的图。

我想把图例移到情节之外。我用谷歌搜索并尝试了以下内容

g.legend(loc='right', bbox_to_anchor=(1.25, 0.5), ncol=1)
plt.show()

但是我没有得到任何输出。而且,我无法理解对象 plt 是如何连接到我的 sns 对象的

我正在使用 Jupyter 笔记本,Python 3.6 和 Seaborn 0.9.0。

请尝试以下操作:

g.legend(loc='center left', bbox_to_anchor=(1.25, 0.5), ncol=1)

如果需要,您可以将第一个数字更改为负数,以便将图例放在左侧。

如果您使用的是 Jupyter IDE,则需要将两行代码放在同一个单元格中,然后 运行 将它们放在一起以获得输出。另外,也没有sns这个对象。 seaborn return 中的大多数函数是一个 matplotlib Axes 对象,您可以在其中使用与 Axes 对象关联的所有方法,例如那个(即 .legend()) 你在这里使用。