Разместите легенду над топором на одинаковом расстоянии - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь поместить легенду прямо над топором в matplotlib, используя ax.legend (loc = (0, 1.1));однако, если я изменю размер фигуры с (5,5) на (5,10), легенда появится на другом расстоянии от верхнего края графика.

Есть ли способ ссылки на верхнюю часть графика?край графика и смещение его на заданное расстояние от него?

Спасибо

1 Ответ

0 голосов
/ 06 февраля 2019

Существует постоянное расстояние между рамкой легенды и осями по умолчанию.Это устанавливается с помощью параметра borderaxespad.По умолчанию это значение rc rcParams["legend.borderaxespad"], которое обычно устанавливается на 0.5 (в единицах размера шрифта).

Так что, по сути, вы получаете поведение, которое вы запрашиваете бесплатно.Имейте в виду, однако, что вы должны указать loc в углу легенды, из которой должен быть взят этот отступ.Т.е.

import numpy as np
import matplotlib.pyplot as plt

for figsize in [(5,4), (5,9)]:
    fig, ax = plt.subplots(figsize=figsize)
    ax.plot([1,2,3], label="label")

    ax.legend(loc="lower left", bbox_to_anchor=(0,1))

plt.show()

enter image description here

Более подробные объяснения о том, как расположить легенду вне осей, см. Как поместить легенду изучасток .Также актуально: Как указать положение легенды в matplotlib в координатах графа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...