Как изменить имя легенды в matplotlib
Я хотел бы отобразить шрифт в Times New Roman в легенде о сюжете matplotlib.
Я изменил все другие метки метки/осевые метки/заголовки на Times New Roman и просмотрел документацию, но я могу только найти, как изменить размер шрифта в легенде, используя prop
аргумент в pyplot.legend()
Спасибо
Конечно, сразу после публикации, я нашел ответ. Решение для кого-то другого с той же проблемой:
import matplotlib as mpl
mpl.rc('font',family='Times New Roman')
Ответы
Ответ 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')
Это позволяет вам выбрать другой шрифт для легенды и осей. Я нашел это полезным, когда мне понадобился моноширинный шрифт для моей легенды, но не для осей - это позволило мне создать такую аккуратную легенду, как это:
![введите описание изображения здесь]()
Обратите внимание на то, что название - это другой шрифт, чем легенда - это дает мне выравнивание чисел, которые в противном случае было бы трудно достичь.