fuente matplotlib no encontrada

Estoy tratando de usar la fuente “Heuristica” en mis gráficos de matplotlib, pero no aparecerá.

Definí “Heuristica” en el primer lugar en rcParameter font.serif -> ningún resultado

Cambié font.family a “Heuristica” y recibí el mensaje.

findfont: FontFamily not found 

Eso me hizo pensar, porque Heuristica está instalada y puedo acceder a ella desde otro software sin problemas. Así que utilicé el fontManager e hice:

 import pylab as pl la = pl.matplotlib.font_manager.FontManager() lu = pl.matplotlib.font_manager.FontProperties(family = 'Heuristica') la.findfont(lu) 

y consiguió:

 Out[7]: 'C:\\Windows\\Fonts\\Heuristica-Regular.otf' 

Así que obviamente se puede encontrar Heuristica. Busqué las fonts ttf-Fonts disponibles ( ¿Cómo puedo obtener la lista de la familia de fonts (o Nombre de la fuente) en matplotlib ) pero Heuristica no está en esta lista?

Me alegraría cualquier ayuda.

Bueno, mdboom resolvió el problema en github , todo el crédito le pertenece a él:

Cuando agrega nuevas fonts a su sistema, necesita eliminar su archivo fontList.cache para que matplotlib las encuentre.

La razón por la que funciona en las líneas 4/5 en su ejemplo es porque está creando un FontManager desde cero (que va al sistema de archivos y busca todas las fonts). Internamente, cuando matplotlib más tarde realiza su propia búsqueda de fuente, está utilizando un FontManager que se ha cargado desde un caché en el disco en el archivo fontList.cache.

A largo plazo, tenemos planes de cambiar al uso de los mecanismos de búsqueda de fonts del sistema operativo para solucionar este problema, (ver MEP14), pero mientras tanto, deberá eliminar el archivo fontList.cache cada vez que desee que matplotlib lo descubra. nuevas fonts

El archivo fontList.cache se encuentra en su Carpeta de usuario -> .matplotlib / fontList.cache, para Windows que normalmente sería C:\Users\yourUsername\.matplotlib\fontList.cache