Это то, что делает bbox_to_anchor
:
Пользователи могут указать любое произвольное место для легенды, используя * bbox_to_anchor * ключевое слово аргумент . bbox_to_anchor может быть экземпляром BboxBase (или его производных) или кортежем из 2 или 4 поплавков. Для Например:
loc = 'upper right', bbox_to_anchor = (0.5, 0.5)
поместит легенду так, чтобы верхний правый угол легенды на центр осей.
Так что поиграйте с этим кортежем, например попробуйте bbox_to_anchor = (0.05, 0.95)
. Или просто оставьте это полностью, и легенда будет в верхнем левом углу.
Edit: Если вы хотите легенду быть из сюжетных, вы можете попробовать следующее:
import matplotlib.pyplot as plt
x, y = [1, 2, 3], [5, 7, 2]
fig = plt.figure()
ax = fig.add_axes((0.2, 0.05, 0.75, 0.9))
ax.plot(x, y)
leg = ax.legend(['legend'], bbox_to_anchor = (0, 0.9))
plt.show()
Вы можете настроить номера для точной настройки позиции.
Мне нужно, чтобы легенда была вне графика, но я хочу увидеть легенду. – user3301310
@ user3301310 Вы имеете в виду из «подзаголовка»? Но если вы используете 'tight_layout', там нет места? –
Да, когда я использую tight_layout(), нет места легенде! – user3301310