2011-10-11 23 views

Respuesta

49

Véase el ejemplo aquí: http://matplotlib.sourceforge.net/examples/api/font_file.html

En general, usted haría algo como esto si tienes intención de usar un archivo específico .ttf. (Tenga en cuenta que apunta a un archivo fuente específica es generalmente una mala idea!)

import matplotlib.font_manager as fm 
import matplotlib.pyplot as plt 

fig, ax = plt.subplots() 
ax.plot(range(10)) 

prop = fm.FontProperties(fname='/usr/share/fonts/truetype/groovygh.ttf') 
ax.set_title('This is some random font', fontproperties=prop, size=32) 

plt.show() 

enter image description here

Por lo general, usted acaba de apuntar al nombre de la fuente, y dejar que la preocupación por encontrar matplotlib el archivo específico. P.ej.

import matplotlib.pyplot as plt 

plt.plot(range(10)) 
plt.title('This is some random font', family='GroovyGhosties', size=32) 

plt.show() 

Si usted quiere tener matplotlib siempre utilizar una fuente en particular, entonces customize your .matplotlibrc file. (font.family es lo que desea establecer. Tenga en cuenta que debe especificar el nombre de la fuente, no la ruta a un archivo .ttf específico.)

Como ejemplo de hacerlo de forma dinámica (es decir, sin configurar un .matplotlibrc archivo específico):

import matplotlib as mpl 
mpl.rcParams['font.family'] = 'GroovyGhosties' 

import matplotlib.pyplot as plt 

plt.plot(range(10)) 
plt.title('Everything is crazy!!!', size=32) 
plt.show() 

enter image description here

0

En * nix, puede utilizar todas las fuentes de su sistema de back-end que permite fontconfig de matplotlib.

Sin embargo, matplotlib no habla realmente con las bibliotecas de fontconfig, sino que emula su comportamiento ejecutando las utilidades de fontconfig cli.

Por lo tanto, nuking el matplotlib fontconfig cache para que descubra nuevas fuentes puede ser un salvavidas (la existencia de este caché es prueba directa de la falta de integración completa de fontconfig).

Cuestiones relacionadas