Часто вы можете захотеть разместить легенду графика 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()

Обратите внимание, что аргумент 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()

Обратите внимание, что аргумент 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 расширить легенду до длины графика, а аргумент ncol указывает Matplotlib размещать метки легенды в 2 столбцах.
Мы также можем не указывать аргументы режима и ncol , если просто хотим поместить легенду в верхний левый угол над графиком:

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