Настройка расположения легенд Seaborn, меток, текста и т.д.
Last updated
Last updated
Seaborn — это библиотека Python, позволяющая создавать статистические визуализации. В основе она использует Matplotlib и имеет значительную интеграцию с библиотекой анализа данных Pandas. Легенда в Seaborn — это поле, которое предоставляет описания различных атрибутов графика, включая информацию о том, какие цвета соответствуют каким атрибутам.
В этом руководстве вы научитесь создавать и настраивать легенды в Seaborn, включая их позиционирование, размер, подписи и заголовок. Поскольку Seaborn использует Matplotlib в своей основе, у вас есть много возможностей для настройки легенды.
К концу этого урока вы научитесь следующему:
Как добавить или скрыть легенду в Seaborn
Как переместить легенду в Сиборне в разные позиции, в том числе и снаружи
Как изменить название и метки в легенде Seaborn
Как изменить размер шрифта заголовков и надписей легенд
Как настроить дополнительные свойства, включая добавление тени к легенде
Оглавление
Чтобы настроить легенды в Seaborn, вы можете использовать функцию .legend(), доступную в Matplotlib pyplot. В общем случае, вызов функции выглядит следующим образом:
Когда вы вызываете функцию, вы можете передать различные параметры, которые позволяют настроить легенду. Давайте сначала рассмотрим, как изменить расположение легенды.
Чтобы переместить расположение легенды в Seaborn, используйте аргумент loc=
в функции plt.legend(). Аргумент принимает как именованное расположение, так и пронумерованное расположение. В таблице ниже представлены различные доступные расположения, как именованные, так и пронумерованные:
'best'
0
'upper right'
1
'upper left'
2
‘lower left'
3
'lower right'
4
'right'
5
'center left'
6
'center right'
7
'lower center'
8
'upper center'
9
'center'
10
Давайте начнем с именованных местоположений, так как они более интуитивны. По умолчанию Seaborn будет использовать расположение 'best'
или 0
. Оно определит лучшее место для легенды в зависимости от того, где находятся точки данных на графике.
В приведенном ниже примере мы загрузили набор данных 'tips'
, доступный в библиотеке Seaborn, и создали диаграмму рассеяния Seaborn с этими данными. Затем мы использовали функцию plt.legend()
и передали в нее 'upper center'
в параметр loc=
. Это вернуло следующую визуализацию:
Мы видим, что расположение легенды изменилось на верхнее среднее положение. Аналогично использованию именованных позиций, мы также можем использовать пронумерованные позиции. Давайте посмотрим, как это работает.
Мы видим, что при передаче значения 1
для параметра расположения, место размещения легенды переместилось в правый верхний угол. Также видно, что легенда теперь закрывает одну из точек данных. Поэтому необходимо учитывать, где размещать легенду.
Чтобы переместить легенду за пределы графика в Seaborn, вы можете использовать параметры loc= и bbox_to_anchor=. Параметр bbox_to_anchor позволяет указать, где именно должна быть размещена легенда относительно самого графика.
Давайте рассмотрим пример того, как это работает:
Но как это работает? Когда вы используете оба параметра loc=
и bbox_to_anchor=
, параметр loc=
указывает, где должна быть привязана легенда. В этом случае, указывая верхний левый угол, легенда привязывается к верхней левой точке. Затем, передавая кортеж из (1, 1)
, местоположение изменяется так, что ограничивающая рамка (верхний левый угол легенды) находится в верхнем правом углу самого графика.
Чтобы разместить легенду в левом верхнем углу за пределами графика в Seaborn, вы можете использовать следующий код:
Мы видим, что для привязки местоположения мы используем 'нижний левый'
. Это означает, что любое местоположение легенды, которое мы передаем в параметр bbox_to_anchor=
, будет использовать нижний левый угол в качестве привязки. Передавая кортеж (0, 1)
, мы указываем Seaborn, что хотим, чтобы позиция была привязана к крайней левой части (x = 0) графика и находилась в верхней части графика (y =1).
В следующем разделе вы узнаете, как полностью удалить легенду
Чтобы удалить легенду в Seaborn, мы можем передать аргумент legend=False
в саму функцию построения графика. В этом случае нам не нужно использовать функцию plt.legend()
. Этот параметр доступен в различных функциях построения графиков в Seaborn. Посмотрим, как это выглядит:
Выполнив этот код, мы удаляем легенду из нашего графика Seaborn.
В следующем разделе вы узнаете, как изменить подписи легенды в Seaborn.
Чтобы изменить подписи легенды в графике Seaborn, используйте параметр labels=
в функции plt.legend()
. Это позволяет передать список значений, которые будут представлять различные подписи для легенды.
В нашем примере на графике легенда показывает дни в сокращённом виде. Возможно, мы захотим развернуть их до полного названия. Для этого мы можем передать labels=['Thursday', 'Friday', 'Saturday', 'Sunday']
в функцию plt.legend()
.
В следующем разделе вы узнаете, как добавить заголовок к легенде в Seaborn.
Добавление заголовка к легенде может помочь лучше описать данные, представленные на вашем графике. Например, в то время как наша текущая легенда показывает день недели, это можно сделать более понятным, добавив заголовок.
Для добавления заголовка к легенде графика Seaborn, можно использовать параметр title=
в функции plt.legend()
. Этот параметр принимает строку, что позволяет настроить заголовок. Давайте посмотрим, как это выглядит:
В приведенном выше коде мы указали заголовок 'Day of Week'
для нашей легенды. Давайте посмотрим, как это выглядит в Seaborn:
Мы также можем изменить размер шрифта в легенде Seaborn – это вы узнаете в следующем разделе.
В этом разделе вы узнаете, как изменить размер шрифта в легенде Seaborn. Это можно сделать двумя разными способами:
fontsize=
управляет размером текста в легенде
title_fontsize=
управляет размером шрифта заголовка в легенде.
Seaborn позволяет использовать либо именованные размеры, как показано в примере ниже, либо фактические размеры в виде чисел, обозначающих размер шрифта в пикселях.
Посмотрим, как можно настроить размер шрифта в легенде
Видно, что изменены как размер заголовка легенды, так и сама легенда.
Чтобы удалить границу из легенды в Seaborn, вы можете использовать аргумент frameon=False
. Это указывает Seaborn убрать границу из легенды на графике. Это может быть полезно, если вы хотите сделать график более чистым и аккуратным.
Посмотрим, как выглядит этот код:
Мы видим, что рамка легенды была удалена. В следующем разделе вы узнаете, как изменить и добавить столбцы в легенду в Seaborn.
Добавление столбцов в легенду в Seaborn можно выполнить с помощью параметра ncols=
в функции plt.legend()
. Разбиение легенды на столбцы может быть отличным способом отображения легенды в горизонтальном формате.
Давайте посмотрим, как это выглядит на Python:
В приведённом выше коде мы разделили легенду на два столбца. Это позволяет разместить два элемента в каждом столбце. Если бы мы передали 4, то элементы отображались бы в строке.
Мы видим, что, используя два столбца, элементы легенды разделены на столбцы.
В некоторых случаях вы можете захотеть разместить маркер справа от метки легенды. По умолчанию маркеры находятся слева. Чтобы сделать это, вы можете использовать параметр markerfirst=
в функции plt.legend()
. По умолчанию он установлен в True
.
Давайте посмотрим, как использовать Seaborn, чтобы маркеры располагались справа от метки:
В разделе ниже вы узнаете, как добавить тень к легенде в Seaborn.
Добавление тени к легенде может помочь добавить объем. Чтобы сделать это в Seaborn, вы можете использовать параметр shadow=
в функции plt.legend()
. Параметр принимает булевое значение и по умолчанию равен False
.
Давайте посмотрим, как мы можем добавить тень к нашей легенде, передав shadow=True
в наш граф
Добавив shadow=True
в нашу функцию, мы видим, что к легенде добавлена тень.
В этом уроке вы узнали, как добавлять и настраивать легенды в визуализациях данных Seaborn. Умение добавлять и настраивать легенды — это важный навык, который может значительно упростить понимание ваших визуализаций. Так как Seaborn использует Matplotlib в своей основе, вы можете в значительной степени настраивать свои визуализации.
В течение этого руководства вы разобрали множество различных случаев, как можно настроить легенды в Seaborn, например, изменяя их положение, подписи и размер.
Чтобы узнать больше о связанных темах, воспользуйтесь следующими ресурсами:
Как установить Seaborn в Python (Исправление: нет модуля с именем seaborn)
Названия и метки осей Seaborn: добавление и настройка
Seaborn despine: как работать с шипами и удалять их