una tamaño libreria letra guardar grafica font como change python fonts matplotlib defaults

python - tamaño - cambiar la fuente por defecto de matplotlib



matplotlib font size default (4)

Estoy tratando de cambiar la fuente predeterminada de matplotlib a Helvetica Neue. En mi Mac con EPD / Canopy todo funcionó bien hace algún tiempo.

Tratar de hacer lo mismo en Ubuntu ahora y no está funcionando.

Esto es lo que hice:

  1. Helvetica Neue Instalada

    $ fc-match ''Helvetica Neue'':Light HelveticaNeue-Light.otf: "Helvetica Neue" "細體"

  2. Convirtió el odt / dfont en ttf:

    fondu -show HelveticaNeue.dfont

  3. cambiado matplotlibrc a

    $ cat ~/.config/matplotlib/matplotlibrc ... font.family: Helvetica Neue

    También probé con:

    font.family: sans-serif font.sans-serif: Helvetica Neue

  4. Quité el caché de fuentes

    rm ~/.config/matplotlib/fontList.cache

Pero ninguno de estos pasos está funcionando para mí.

$ python -c ''from matplotlib import pyplot as plt; plt.plot(1); plt.savefig("/tmp/test.png")'' /usr/local/lib/python2.7/dist-packages/matplotlib-1.3.0-py2.7-linux-x86_64.egg/matplotlib/font_manager.py:1236: UserWarning: findfont: Font family [''Helvetica Neue''] not found. Falling back to Bitstream Vera Sans

(prop.get_family (), self.defaultFamily [fontext]))

La versión es 1.3.0

$ python -c ''import matplotlib; print matplotlib.__version__'' 1.3.0

También intenté mover las fuentes a ~/.config/matplotlib/fonts/ttf pero no funcionó.

EDITAR: Como sugerí, intenté seleccionar una fuente específica para un texto específico.

import matplotlib as mpl mpl.use(''Agg'') import matplotlib.pyplot as plt import matplotlib.font_manager as font_manager path = ''/home/<myusername>/.fonts/HelveticaNeue.ttf'' prop = font_manager.FontProperties(fname=path) prop.set_weight = ''light'' mpl.rcParams[''font.family''] = prop.get_name() mpl.rcParams[''font.weight''] = ''light'' fig, ax = plt.subplots() ax.set_title(''Text in a cool font'', fontproperties=prop, size=40) plt.savefig(''/tmp/test2.png'')

Pero no hace ninguna diferencia.

/usr/local/lib/python2.7/dist-packages/matplotlib-1.3.0-py2.7-linux-x86_64.egg/matplotlib/font_manager.py:1236: UserWarning: findfont: Font family [''Helvetica Neue''] not found. Falling back to Bitstream Vera Sans

Sin embargo, parece que tengo este problema solo con esta fuente Helvetica / Helvetica Neue. (prop.get_family (), self.defaultFamily [fontext]))


El caché de fuentes se muestra en un lugar diferente para mí (.cache / matplotlib / fontList.cache). Y antes de que tuviera tres de ellos en diferentes lugares de alguna manera: /

Tal vez intente buscarlo en su directorio personal:

find ~/ -name fontList.cache -exec rm {} /;


Esto no cambiará tu fuente permanentemente, pero vale la pena intentarlo.

matplotlib.rc(''font'', family=''sans-serif'') matplotlib.rc(''font'', serif=''Helvetica Neue'') matplotlib.rc(''text'', usetex=''false'') matplotlib.rcParams.update({''font.size'': 22})


Kim ya introdujo la solución dinámica que funciona perfectamente, y aquí hay otras dos formas de hacer lo mismo en estática.

Primero, puede colocar una línea en el archivo rc para matplotlib. Consulte esta página para obtener más información sobre la ubicación del archivo y la configuración detallada.

font.family : NanumGothic

En segundo lugar, si está trabajando con ipython, puede colocar algunos comandos para la configuración de la fuente en un archivo de configuración para el shell interactivo. Encuentre el archivo llamado ipython_config.py que generalmente se encuentra en ~ / .ipython / en algún lugar. Luego agregue dos líneas más a la lista, c.InteractiveShellApp.exec_lines.

c.InteractiveShellApp.exec_lines = [ "import matplotlib as mpl", "mpl.rcParams[''font.family''] = ''NanumGothic''" ]

Former siempre funciona en cualquier entorno en el que ejecute su script de shell, ya que carga la fuente cuando su script importa matplotlib.


Ubuntu 14.04 LTS

Sube las fuentes

sudo cp NotoSansKR-Regular.otf /usr/share/fonts/

Actualizar el caché de la fuente

sudo fc-cache -fv

Puedes consultar la lista de fuentes

fc-list

Reinicie ipython, etc. Compruebe la lista de fuentes

[f.name for f in matplotlib.font_manager.fontManager.ttflist]

Toma un nombre de fuente

import matplotlib.pyplot as plt from matplotlib import rcParams rcParams[''font.family''] = ''Noto Sans Korean''

Dibujar

plt.title(u''한글 제목'') plt.xlabel(u''한글 축 이름'') plt.plot(range(5))