Как разместить легенду относительно текстового поля? - PullRequest
1 голос
/ 27 мая 2019

Я хотел бы получить это:

enter image description here

Но рамка легенды должна быть идеально выровнена по текстовому полю над ней. Сейчас я использую плохое, ручное решение:

from matplotlib import pyplot as plt
fig, ax = plt.subplots()
for i in range(5):
  ax.plot([i, 0],label=i)

pad = 0.02
text = ax.text(1-pad, 1-pad, "Some words", bbox=dict(alpha=1),
    transform=ax.transAxes, ha="right", va="top")

# text_height = text.get_bbox_patch().get_height() # doesn't work
text_height=0.05

ax.legend(loc="upper right", bbox_to_anchor=(1-pad, 1-pad-text_height))

Так, как я могу улучшить и автоматизировать это выравнивание?

Также было бы неплохо, если бы я мог разумно установить параметр pad автоматически.

1 Ответ

0 голосов
/ 27 мая 2019

Просто используйте параметр заголовка:

from matplotlib import pyplot as plt
fig, ax = plt.subplots()
for i in range(5):
   ax.plot([i, 0],label=i)

ax.legend(loc="upper right", title='some text')
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...