Je travaille sur un cluster de calcul scientifique Unix où je n'ai pas de privilèges root. J'exécute généralement du code python à travers un cahier ipython. Si je fais une commande de base telles que:Matplotlib ne trouve pas les polices de base
import matplotlib.pyplot as plt
plt.scatter([1,5], [1,5])
Je reçois un message d'erreur:
path_to_miniconda/miniconda3/envs/conda34/lib/python3.4/site-
packages/matplotlib/font_manager.py:1297: UserWarning: findfont: Font family
['sans-serif'] not found. Falling back to DejaVu Sans
(prop.get_family(), self.defaultFamily[fontext]))
Je voudrais pouvoir utiliser une police Times New Roman, mais même après la suppression du fichier de cache police (fontList.py3k.cache) que je trouve d'ici:
import matplotlib as mpl
fm = mpl.font_manager
fm.get_cachedir()
Les commandes:
mpl.rcParams['font.family'] = ['serif']
mpl.rcParams['font.serif'] = ['Times New Roman']
n'ont aucun effet, j'obtiens la même erreur que ci-dessus. Le répertoire vrai des polices de type:
path_to_miniconda/miniconda3/envs/conda34/lib/python3.4/site-packages/matplotlib/mpl-data/polices/TTF/
ne dispose de 40 polices qu'il contient de la tapez: DejaVuSerif, DejaVuSans, STIX, cmb, cmt, cmy
Une idée de ce qui pourrait se passer et comment je peux ajouter des polices supplémentaires? Merci!
J'ai eu le même problème. Merci pour ton conseil fm.get_cachedir(), j'effaçais le mauvais cache et maintenant ça marche! Merci :) –