Matplotlib est impossible de trouver des polices de base

Je suis à l'aide de matplotlib version 2.0.0 sur Python 3 dans un miniconda environnement virtuel. Je suis en train de travailler sur un unix scientifique cluster de calcul où je n'ai pas les privilèges root. Je suis généralement d'exécuter du code python à travers un ipython notebook. Si je fais une commande de base tels que:

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 être en mesure d'utiliser la police Times New Roman, mais même après la suppression du fichier de cache de Police (fontList.py3k.cache) ce que je trouve 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. Les polices true type d'annuaire:

path_to_miniconda/miniconda3/envs/conda34/lib/python3.4/site-packages/matplotlib/mpl-data/fonts/ttf/

a seulement 40 polices de type: DejaVuSerif,DejaVuSans,STIX,cmb, cmt, cmj

Aucune 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 votre astuce fm.get_cachedir(), j'ai effacé le cache incorrecte et maintenant ça fonctionne! Merci 🙂
  • J'ai la même erreur, mais mes chiffres à la fin dans son empattement (en latex).
  • Essayez de réinstaller, matplotlib publié la version 3 en 2018
InformationsquelleAutor dylkot | 2017-02-07