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

Поместите легенду вне графика Matplotlib

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

Легенда вне графика Matplotlib в углу

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

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *