Как разместить легенду за пределами графика Matplotlib

Как разместить легенду за пределами графика Matplotlib

Часто вы можете захотеть разместить легенду графика Matplotlib за пределами фактического графика.

К счастью, это легко сделать с помощью функции matplotlib.pyplot.legend() в сочетании с аргументом bbox_to_anchor .

В этом руководстве показано несколько примеров использования этой функции на практике.

Пример 1. Поместите легенду в верхний правый угол

Следующий код показывает, как разместить легенду в правом верхнем углу за пределами графика Matplotlib:

import matplotlib.pyplot as plt

#create plot
plt.subplot (211)
plt.plot([2, 4, 6], label=" First Data ")
plt.plot([6, 4, 2], label=" Second Data ")

#place legend in top right corner
plt.legend(bbox_to_anchor=(1,1), loc=" upper left ")

#show plot
plt.show()
Поместите легенду за пределы графика Matplotlib

Обратите внимание, что аргумент loc указывает Matplotlib поместить левый верхний угол строки легенды в координаты (x, y) (1,1) на графике.

Пример 2. Поместите легенду в нижний правый угол

В следующем коде показано, как разместить легенду в правом нижнем углу за пределами графика Matplotlib:

import matplotlib.pyplot as plt

#create plot
plt.subplot (211)
plt.plot([2, 4, 6], label=" First Data ")
plt.plot([6, 4, 2], label=" Second Data ")

#place legend in top right corner
plt.legend(bbox_to_anchor=(1,0), loc=" lower left ")

#show plot
plt.show() 
Легенда за пределами графика Matplotlib в углу

Обратите внимание, что аргумент loc указывает Matplotlib поместить левый нижний угол строки легенды в координаты (x, y) (1,0) на графике.

Пример 3: Разместите легенду над графиком

Следующий код показывает, как разместить легенду над графиком Matplotlib:

import matplotlib.pyplot as plt

#create plot
plt.subplot (211)
plt.plot([2, 4, 6], label=" First Data ")
plt.plot([6, 4, 2], label=" Second Data ")

#place legend above plot
plt.legend(bbox_to_anchor=(0, 1, 1, 0), loc=" lower left", mode=" expand", ncol= 2 )

#show plot
plt.show() 
Поместите легенду над графиком в Matplotlib

Обратите внимание, что аргумент режима указывает Matplotlib расширить легенду до длины графика, а аргумент ncol указывает Matplotlib размещать метки легенды в 2 столбцах.

Мы также можем не указывать аргументы режима и ncol , если просто хотим поместить легенду в верхний левый угол над графиком:

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в Matplotlib:

Как изменить размер шрифта на графике Matplotlib
Как удалить тики из графиков Matplotlib
Как показать линии сетки на графиках Matplotlib

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.