python - pyplot - symbols in matplotlib
Escribir letras griegas, etc. en tramas de Python (5)
¿Por qué no usar los caracteres literales?
fig.gca().set_xlabel("wavelength, (Å)")
fig.gca().set_ylabel("λ")
Es posible que deba agregar esto al archivo si está utilizando Python 2:
# -*- coding: utf-8 -*-
from __future__ import unicode literals # or use u"unicode strings"
Puede ser más fácil definir constantes para caracteres que no son fáciles de escribir en el teclado.
ANGSTROM, LAMDBA = "Åλ"
Entonces puedes reutilizarlos en otro lugar.
fig.gca().set_xlabel("wavelength, (%s)" % ANGSTROM)
fig.gca().set_ylabel(LAMBDA)
Necesito escribir letras griegas y el símbolo Angstrom en etiquetas de ejes en una trama. Así por ejemplo
fig.gca().set_xlabel("$wavelength/, (Angstrom)$")
fig.gca().set_ylabel("$lambda$")
excepto que realmente quiero que "Angstrom" y "lambda" sean reemplazados por símbolos reales. ¿Cómo debería hacer esto? ¡Gracias!
Debes hacer las cadenas en raw y usar latex :
fig.gca().set_ylabel(r''$/lambda$'')
A partir de matplotlib 2.0, la fuente predeterminada es compatible con la mayoría de los alfabetos occidentales y puede hacer de manera simple
ax.set_xlabel(''λ'')
con unicode
No solo puede agregar cadenas sin formato a matplotlib, sino que también puede especificar la fuente en matplotlibrc o localmente con:
from matplotlib import rc
rc(''font'', **{''family'':''serif'',''serif'':[''Palatino'']})
rc(''text'', usetex=True)
Esto cambiaría tu fuente serif latex. También puede especificar la Helvetica sans-serif como tal
rc(''font'',**{''family'':''sans-serif'',''sans-serif'':[''Helvetica'']})
Otras opciones son cursive
y monospace
con sus respectivos nombres de fuente. Su etiqueta sería entonces
fig.gca().set_xlabel(r''wavelength $5000 /AA$'')
Si la fuente no proporciona un símbolo de Angstrom, puede intentar usar /mathring{A}
Python 3.x: las letras griegas pequeñas están codificadas de 945 a 969, por lo tanto, alfa es chr(945)
, omega es chr(969)
así que simplemente escriba
print(chr(945))
la lista de pequeñas letras griegas en una lista:
greek_letterz=[chr(code) for code in range(945,970)]
print(greek_letterz)
Y ahora, alfa es greek_letterz[0]
, beta es greek_letterz[1]
, aso
Si desea tener una cadena normal delante de la letra griega, asegúrese de tener el orden correcto:
plt.ylabel(r''Microstrain [$/mu /epsilon$]'')