Как разместить легенду вне графика matplotlib
Часто вам может потребоваться разместить легенду графика Matplotlib за пределами фактического графика.
К счастью, это легко сделать, используя функцию matplotlib.pyplot.legend() в сочетании с аргументом bbox_to_anchor .
В этом уроке показано несколько примеров практического использования этой функции.
Пример 1. Разместите заголовок в правом верхнем углу.
Следующий код показывает, как разместить легенду в правом верхнем углу за пределами графика Matplotlib:
import matplotlib.pyplot as plt #createplot 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 ") #showplot plt. show ()
Обратите внимание, что аргумент loc сообщает Matplotlib поместить верхний левый угол строки легенды в координаты (x,y) точки (1,1) на графике.
Пример 2. Разместите подпись в правом нижнем углу.
Следующий код показывает, как разместить легенду в правом нижнем углу за пределами графика Matplotlib:
import matplotlib.pyplot as plt #createplot 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 ") #showplot plt. show ()
Обратите внимание, что аргумент loc сообщает Matplotlib поместить нижний левый угол строки легенды в координаты (x,y) точки (1,0) на графике.
Пример 3. Разместите легенду над графиком.
Следующий код показывает, как разместить легенду над графиком Matplotlib:
import matplotlib.pyplot as plt #createplot 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 ) #showplot plt. show ()
Обратите внимание, что аргумент режима сообщает Matplotlib о необходимости расширить легенду до длины графика, а аргумент ncol сообщает Matplotlib о необходимости размещения меток легенды в двух столбцах.
Мы также могли бы опустить аргументы mode и ncol , если хотим просто разместить легенду в верхнем левом углу над графиком:
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Matplotlib:
Как изменить размер шрифта на графике Matplotlib
Как убрать галочки с графиков Matplotlib
Как показать линии сетки на графиках Matplotlib