Подтвердить что ты не робот

Как изменить имя легенды в matplotlib

Я хотел бы отобразить шрифт в Times New Roman в легенде о сюжете matplotlib. Я изменил все другие метки метки/осевые метки/заголовки на Times New Roman и просмотрел документацию, но я могу только найти, как изменить размер шрифта в легенде, используя prop аргумент в pyplot.legend()

Спасибо

Конечно, сразу после публикации, я нашел ответ. Решение для кого-то другого с той же проблемой:
  import matplotlib as mpl
mpl.rc('font',family='Times New Roman')

4b9b3361

Ответ 1

Это не отображалось в результатах Google, поэтому я собираюсь опубликовать его в качестве ответа. Параметры rc для шрифта могут использоваться для установки одного шрифта по умолчанию.

Решение для кого-то еще с той же проблемой:

import matplotlib as mpl

mpl.rc('font',family='Times New Roman')

Ответ 2

Приведенное решение .rc изменяет шрифт по умолчанию для всего чертежа.

Вот решение для этого, когда вы не хотите изменять все шрифты, а только свойства шрифта легенды этого конкретного графика (легенда, относящаяся к определенному объекту axis):

L = ax.legend()
plt.setp(L.texts, family='Consolas')

Это позволяет вам выбрать другой шрифт для легенды и осей. Я нашел это полезным, когда мне понадобился моноширинный шрифт для моей легенды, но не для осей - это позволило мне создать такую ​​аккуратную легенду, как это:

введите описание изображения здесь

Обратите внимание на то, что название - это другой шрифт, чем легенда - это дает мне выравнивание чисел, которые в противном случае было бы трудно достичь.