Как изменить положение легенды в seaborn
Чтобы изменить положение легенды на морском графике, вы можете использовать команду plt.legend() .
Например, вы можете использовать следующий синтаксис, чтобы разместить легенду в правом верхнем углу графика:
plt. legend (loc=' upper right ')
Местоположение по умолчанию — «лучшее» — именно здесь Matplotlib автоматически находит местоположение для легенды в зависимости от того, где он избегает покрытия точек данных.
Однако вы можете указать одно из следующих местоположений подписей:
- В правом верхнем углу
- в верхнем углу слева
- внизу слева
- в правом нижнем углу
- ВЕРНО
- центр слева
- Правоцентристский
- нижний центр
- вверху по центру
- центр
Вы также можете использовать аргумент bbox_to_anchor() , чтобы разместить легенду за пределами графика. Например, вы можете использовать следующий синтаксис, чтобы разместить легенду в правом верхнем углу за пределами графика:
plt. legend (bbox_to_anchor=( 1.05 , 1 ), loc=' upper left ', borderaxespad= 0 )
Следующие примеры показывают, как использовать каждый из этих методов на практике.
Пример 1. Измените положение легенды на графике Сиборна.
Следующий код показывает, как разместить легенду в правой центральной части морской диаграммы рассеяния:
import pandas as pd import seaborn as sns import matplotlib. pyplot as plt #create fake data df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B']}) #create scatterplot sns. scatterplot (data=df, x=' points ', y=' assists ', hue=' team ') #place legend in center right of plot plt. legend (loc=' center right ', title=' Team ')
Следующий код показывает, как разместить легенду в верхнем левом углу морской диаграммы рассеяния:
#create scatterplot sns. scatterplot (data=df, x=' points ', y=' assists ', hue=' team ') #place legend in upper left of plot plt. legend (loc=' upper left ', title=' Team ')
Пример 2. Измените положение легенды за пределами графика Сиборна.
Чтобы разместить легенду за пределами морского графика, мы можем использовать аргумент bbox_to_anchor() .
Например, вот как разместить легенду за пределами правого верхнего угла графика:
import pandas as pd import seaborn as sns import matplotlib. pyplot as plt #create fake data df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B']}) #create scatterplot sns. scatterplot (data=df, x=' points ', y=' assists ', hue=' team ') #place legend outside top right corner of plot plt. legend (bbox_to_anchor=( 1.02 , 1 ), loc=' upper left ', borderaxespad= 0 )
А вот как разместить легенду за пределами правого нижнего угла графика:
#create scatterplot sns. scatterplot (data=df, x=' points ', y=' assists ', hue=' team ') #place legend outside bottom right corner of plot plt. legend (bbox_to_anchor=( 1.02 , 0.15 ), loc=' upper left ', borderaxespad= 0 )
Обратитесь к документации matplotlib для подробного объяснения аргумента bbox_to_anchor() .
Дополнительные ресурсы
Как настроить размер фигуры на графике Сиборна
Как изменить метки осей на графике Сиборна
Как изменить размер шрифта легенды на графике Seaborn