p. Ej. cuando quiero establecer font
en¿Cómo obtener una lista de todas las fuentes actualmente disponibles para Matplotlib?
matplotlib.rc('font', **font)
Thanks.
p. Ej. cuando quiero establecer font
en¿Cómo obtener una lista de todas las fuentes actualmente disponibles para Matplotlib?
matplotlib.rc('font', **font)
Thanks.
import matplotlib.font_manager
matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')
Compruebe this para ver otras opciones.
genial, gracias! BTW: aparentemente tienes que 'importar matplotlib.font_manager' para que sucedan las cosas ;-) – nye17
Correcto. He editado la respuesta. – imsc
Además, los argumentos especificados son los predeterminados, por lo que 'matplotlib.font_manager.findSystemFonts()' devuelve lo mismo. –
Para obtener una lista (legible) de fuentes disponibles a matplotlib
:
import matplotlib.font_manager
flist = matplotlib.font_manager.get_fontconfig_fonts()
names = [matplotlib.font_manager.FontProperties(fname=fname).get_name() for fname in flist]
print names
El documentation recomienda get_fontconfig_fonts()
:
Esta es una manera fácil de agarrar todas las fuentes que el usuario desea hacerse disponible para las aplicaciones, sin necesidad de saber dónde residen todas ellas .
Tenga en cuenta que se puede obtener la (inversa) a nombre de la fuente de consulta fácilmente utilizando la clase FontProperties
:
font = matplotlib.font_manager.FontProperties(family='TeX Gyre Heros')
file = matplotlib.font_manager.findfont(font)
findfont
es robusto, ya que devuelve una fuente por defecto si no se puede encontrar propiedades que corresponden .
Limpio, gracias. Parece que este proporciona los ** nombres disponibles ** mientras que la respuesta aceptada muestra los archivos '.ttf'. Desafortunadamente por cualquier razón ** esto falla en mi macbook (MacOS Sierra) **, pero funciona en algunos servidores Linux remotos que uso. La respuesta aceptada funciona en todas partes. –
por this blog post, este código le conseguirá fuentes disponibles y muestras:
import matplotlib.font_manager
from IPython.core.display import HTML
def make_html(fontname):
return "<p>{font}: <span style='font-family:{font}; font-size: 24px;'>{font}</p>".format(font=fontname)
code = "\n".join([make_html(font) for font in sorted(set([f.name for f in matplotlib.font_manager.fontManager.ttflist]))])
HTML("<div style='column-count: 2;'>{}</div>".format(code))
Por ejemplo:
Al parecer ninguno de ellos aparecerá una lista de fuentes disponibles en el 'MPL-datos 'directorio encontrado en' ~/anaconda/lib/pythonX.X/site-packages/matplotlib/mpl-data/fonts/ttf' (prueba 'import matplotlib; matplotlib.matplotlib_fname()' para obtener la ubicación exacta). A pesar de que ** usar 'fname = ' para cargar fuentes en esta ubicación es exitoso **. ¿Alguien tiene una respuesta que lo haga? –