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.