На этом шаге мы рассмотрим различные способы расположения легенды на графике.
Место расположения легенды определяется параметром loc, который может принимать одно из значений, указанных в таблице 1.
Строковое описание | Код |
---|---|
'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 |
import matplotlib.pyplot as plt x = [1, 5, 10, 15, 20] y1 = [1, 7, 3, 5, 11] y2 = [4, 3, 1, 8, 12] locs = ['best', 'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'upper center', 'center'] plt.figure(figsize=(12, 12)) for i in range(3): for j in range(4): if i * 4 + j < 11: plt.subplot(3, 4, i * 4 + j + 1) plt.title(locs[i * 4 + j]) plt.plot(x, y1, 'o-r', label='line 1') plt.plot(x, y2, 'o-.g', label='line 2') plt.legend(loc=locs[i * 4 + j]) else: break plt.show()
Результат работы приложения изображен на рисунке 1.
Рис.1. Различные варианты расположения легенды на графике
Для более гибкого управления расположением легенды можно воспользоваться параметром bbox_to_anchor функции legend().
Этому параметру присваивается кортеж, состоящий из четырёх или двух элементов:
bbox_to_anchor = (x, y, width, height) bbox_to_anchor = (x, y)
Пример использования параметра bbox_to_anchor:
import matplotlib.pyplot as plt x = [1, 5, 10, 15, 20] y1 = [1, 7, 3, 5, 11] y2 = [4, 3, 1, 8, 12] plt.plot(x, y1, 'o-r', label='line 1') plt.plot(x, y2, 'o-.g', label='line 2') plt.legend(bbox_to_anchor=(1, 0.6)) plt.show()
Результат работы приложения изображен на рисунке 1.
Рис.2. Расположение легенды вне поля графика
На следующем шаге мы рассмотрим дополнительные параметры настройки легенды.