Matplotlib аннотировать изменение шрифта - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь изменить тип шрифта (с deja-vu на let 'say comi c sans или calibri) для текста, который появляется вместе с функцией аннотирования matplotlib. Однако, хотя я могу изменить шрифт для всех других элементов графика, он не изменит его для аннотированного текста. Любая помощь? Ниже показано, с чем я работаю и как глобально устанавливаю шрифт. Вы заметите разницу в шрифтах при сравнении стиля «1» на графиках. введите описание изображения здесь

import numpy as np
import os, glob
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.font_manager
from matplotlib import rcParams

import pdb
matplotlib.font_manager._rebuild()
# THIS SETS ALL THE RELEVANT FONT STYLE FOR PLOTS
rcParams['font.family'] = 'sans-serif'
rcParams['font.weight'] = 'regular'  #can omit this, it's the default
rcParams['font.sans-serif'] = ['calibri']

# test code
ax = plt.figure().add_subplot()
x,y = np.arange(10),np.arange(10)
ax.plot(x,y)
ax.annotate(r'$100^\circ$',
            xy=(1.1, 0.1), xycoords='axes fraction',
            xytext=(1.1, 0.8), textcoords='axes fraction',
            arrowprops=dict(facecolor='black', shrink=0.01),
            horizontalalignment='center', verticalalignment='top',
            fontsize=15)

1 Ответ

2 голосов
/ 11 июля 2020

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

Конечно, вы можете изменить шрифт, используемый в математическом тексте (есть ли что-нибудь в Matplotlib, что вы не можете изменить?)

Написание математических выражений

[.. .] Mathtext может использовать DejaVu Sans (по умолчанию), DejaVu Serif, шрифты Computer Modern (от (La) TeX), STIX шрифты (с, предназначенные для хорошего сочетания с Times), или шрифт Unicode, который Вы предоставляете. Шрифт математического текста можно выбрать с помощью переменной настройки mathtext.fontset (см. Настройка Matplotlib с таблицами стилей и rcParams ).

...