Изменить расположение легенды на графике Моряка

В этом уроке мы узнаем, как изменить расположение легенды на графике морского дна в Python.

Для этого нам нужно будет отключить легенду по умолчанию. Это можно сделать, установив для параметра legend значение False в функции построения графика. Мы явно добавим легенду, используя функцию matplotlib.pyplot.legend() из библиотеки matplotlib.

Чтобы изменить положение легенды, воспользуемся параметром loc из этой функции. В качестве значения этого параметра мы можем указать необходимое расположение легенды.

Например,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"Day 1": [7,1,5,6,3,10,5,8],
                    "Day 2" : [1,2,8,4,3,9,5,2]})

sns.lineplot(data = df, legend = False)
plt.legend(labels = ['Day1','Day2'],loc = 'upper right')

Локация легенд Сиборна

Мы также можем указать разные числа в качестве значения этого параметра. Разные числа соответствуют разным местам. Например, 1 для верхней правой позиции, 2 указывает на верхнюю левую позицию и т. Д. Обратитесь к этой статье Matplotlib, чтобы получить таблицу отношений между числами и позициями.

По умолчанию значение параметра loc равно 0, что означает, что он ищет положение на графике так, чтобы иметь место минимальное перекрытие.

Мы также можем разместить поле легенды за пределами графика, используя параметр bbox_to_anchor. bbox_to_anchor указывает положение легенды относительно местоположения, указанного в параметре loc. Если мы установим параметр bbox_to_anchor с двухэлементным кортежем, то он будет рассматривать их значения как значения x и y для позиционирования вдоль указанного loc.

Например,

import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({"Day 1": [7,1,5,6,3,10,5,8],
                    "Day 2" : [1,2,8,4,3,9,5,2]})
import seaborn as sns
sns.lineplot(data = df, legend = False)
plt.legend(labels = ['Day1','Day2'],loc = 2, bbox_to_anchor = (1,1))

Локация легенд Сиборна

Сопутствующая статья - Seaborn Legend

  • Удаление легенды с графиков Seaborn в Python