python - xlabel - Peso de fuente en negrita para la etiqueta de ejes LaTeX en matplotlib
xlabel matlab ejemplo (3)
En matplotlib
puede hacer que el texto de una etiqueta de eje matplotlib
negrita
plt.xlabel(''foo'',fontweight=''bold'')
También puedes usar LaTeX con el backend correcto
plt.xlabel(r''$/phi$'')
Sin embargo, cuando los combinas, el texto matemático ya no está en negrita
plt.xlabel(r''$/phi$'',fontweight=''bold'')
Tampoco los siguientes comandos LaTeX parecen tener ningún efecto
plt.xlabel(r''$/bf /phi$'')
plt.xlabel(r''$/mathbf{/phi}$'')
¿Cómo puedo hacer un $/phi$
en negrita en mi etiqueta de eje?
Como esta respuesta Latex on python: / alpha y / beta no funcionan? Señala. Es posible que tenga un problema con /b
por lo que /boldsymbol
puede no funcionar según lo previsto. En ese caso, puedes usar algo como: ''$ ///boldsymbol{///beta} $''
en tu código de python. Siempre que use el preámbulo plt.rcParams[''text.latex.preamble'']=[r"/usepackage{amsmath}"]
Desafortunadamente, no puede usar símbolos en negrita con la fuente en negrita, vea esta pregunta en tex.stackexchange.
Como sugiere la respuesta, puedes usar /boldsymbol
para negrita phi:
r''$/boldsymbol{/phi}$''
Tendrá que cargar amsmath
en el preámbulo TeX:
matplotlib.rc(''text'', usetex=True)
matplotlib.rcParams[''text.latex.preamble'']=[r"/usepackage{amsmath}"]
Si pretende tener fuentes en negrita consistentemente a lo largo de la trama, la mejor manera es habilitar el látex y agregar /boldmath
a su preámbulo:
# Optionally set font to Computer Modern to avoid common missing font errors
matplotlib.rc(''font'', family=''serif'', serif=''cm10'')
matplotlib.rc(''text'', usetex=True)
matplotlib.rcParams[''text.latex.preamble''] = [r''/boldmath'']
Entonces sus etiquetas de eje o figura pueden tener cualquier expresión matemática de látex y aún así estar en negrita:
plt.xlabel(r''$/frac{/phi + x}{2}$'')
Sin embargo, para partes de etiquetas que no son matemáticas, deberá establecerlas explícitamente en negrita:
plt.ylabel(r''/textbf{Counts of} $/lambda$''}