Cela semble être un problème facile, mais je ne trouve aucune solution efficace pour changer la police (pas la taille de la police) dans un graphique créé avec matplotlib en python.
J'ai trouvé quelques tutoriels pour changer la police par défaut de matplotlib en modifiant certains fichiers des dossiers dans lesquels matplotlib stocke sa police par défaut - voir cet article de blog - mais je recherche une solution moins radicale puisque je souhaite utiliser plusieurs polices dans mon tracé (texte, libellé, libellé d'axe, etc.).
Disons que vous voulez Comic Sans pour le titre et Helvetica pour le label x.
csfont = {'fontname':'Comic Sans MS'}
hfont = {'fontname':'Helvetica'}
plt.title('title',**csfont)
plt.xlabel('xlabel', **hfont)
plt.show()
Vous pouvez également utiliser rcParams
pour changer la famille de polices globalement.
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "cursive"
# This will change to your computer's default cursive font
La liste des arguments de la famille de polices de matplotlib est ici .
Je préfère employer:
from matplotlib import rc
#rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
rc('font',**{'family':'serif','serif':['Times']})
rc('text', usetex=True)
import pylab as plb
plb.rcParams['font.size'] = 12
ou
import matplotlib.pyplot as mpl
mpl.rcParams['font.size'] = 12
La police Helvetica n’est pas fournie avec Windows. Pour l’utiliser, vous devez la télécharger au format .ttf. Ensuite, vous pouvez vous référer à matplotlib comme ceci (remplacez "crm10.ttf" par votre fichier):
import os
from matplotlib import font_manager as fm, rcParams
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
fpath = os.path.join(rcParams["datapath"], "fonts/ttf/cmr10.ttf")
prop = fm.FontProperties(fname=fpath)
fname = os.path.split(fpath)[1]
ax.set_title('This is a special font: {}'.format(fname), fontproperties=prop)
ax.set_xlabel('This is the default font')
plt.show()
print(fpath)
va vous montrer où vous devez mettre le .ttf.
Vous pouvez voir la sortie ici: https://matplotlib.org/gallery/api/font_file.html