theta pyplot print python latex matplotlib

python - pyplot - symbols in matplotlib



Sans-serif matematicas con latex en matplotlib (3)

Esto le permitirá utilizar la fuente Computer Modern Sans si usted, como yo, la prefiere a Helvetica:

mpl.rcParams[''text.usetex''] = True mpl.rcParams[''text.latex.preamble''] = [r''/usepackage[cm]{sfmath}''] mpl.rcParams[''font.family''] = ''sans-serif'' mpl.rcParams[''font.sans-serif''] = ''cm''

El siguiente script:

import matplotlib matplotlib.use(''Agg'') import matplotlib.pyplot as mpl mpl.rc(''font'', family=''sans-serif'') mpl.rc(''text'', usetex=True) fig = mpl.figure() ax = fig.add_subplot(1,1,1) ax.text(0.2,0.5,r"Math font: $451^/circ$") ax.text(0.2,0.7,r"Normal font (except for degree symbol): 451$^/circ$") fig.savefig(''test.png'')

es un intento de usar una fuente sans-serif en matplotlib con LaTeX. El problema es que la fuente matemática sigue siendo una fuente serif (como lo indican los números de los ejes y lo demuestran las etiquetas en el centro). ¿Hay alguna manera de configurar la fuente matemática para que sea sans-serif?


La forma más fácil es usar TeX interno de matplotlib, por ejemplo:

import pylab as plt params = {''text.usetex'': False, ''mathtext.fontset'': ''stixsans''} plt.rcParams.update(params)

Si usa un LaTeX externo, puede usar, por ejemplo, las fuentes CM Bright:

params = {''text.usetex'': True, ''text.latex.preamble'': [r''/usepackage{cmbright}'', r''/usepackage{amsmath}'']} plt.rcParams.update(params)

Tenga en cuenta que la fuente CM Bright no es escalable, ¡y no podrá guardar PDF / PS! Lo mismo con otras opciones con LaTeX externo que he encontrado hasta ahora.


Siempre tengo text.usetex = True en mi archivo matplotlibrc. Además de eso, uso esto también:

mpl.rcParams[''text.latex.preamble''] = [ r''/usepackage{siunitx}'', # i need upright /micro symbols, but you need... r''/sisetup{detect-all}'', # ...this to force siunitx to actually use your fonts r''/usepackage{helvet}'', # set the normal font here r''/usepackage{sansmath}'', # load up the sansmath so that math -> helvet r''/sansmath'' # <- tricky! -- gotta actually tell tex to use! ]

Espero que ayude.