Как перенести легенду за пределы разбросанного на море участка рассеяния? - PullRequest
0 голосов
/ 12 декабря 2018
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)

Когда я запускаю это, я получаю следующий график.

enter image description here

Я хочу переместить легенду за пределы сюжета.Я погуглил и попробовал следующее

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

Но я ничего не получил.Более того, я не могу понять, как объект plt связан с моим объектом sns

Я использую Jupyter Notebook, Python 3.6 и Seaborn 0.9.0.

1 Ответ

0 голосов
/ 12 декабря 2018

Пожалуйста, попробуйте следующее:

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

Вы можете изменить первое число на отрицательное, чтобы разместить свою легенду на левой стороне, если хотите.

Есливы используете Jupyter IDE, вам нужно поместить обе строки кода в одну и ту же ячейку и запустить их вместе, чтобы получить вывод.Кроме того, нет такого понятия, как sns объект.Большинство функций в seaborn возвращают объект matplotlib Axes, в котором вы можете использовать все методы, связанные с объектом Axes, например, тот, который вы используете здесь (т.е. .legend()).

...