Taper des lettres grecques, etc. dans les tracés Python
J'ai besoin de taper des lettres grecques et le symbole Angstrom dans les étiquettes des axes dans un tracé. Ainsi, par exemple
fig.gca().set_xlabel("$wavelength, (Angstrom)$")
fig.gca().set_ylabel("$lambda$")
Sauf que je veux réellement" Angstrom "et" lambda " remplacés par des symboles réels. Comment dois-je faire? Merci!
5 réponses
Non seulement vous pouvez ajouter des premières chaînes de matplotlib, mais vous pouvez également spécifier la police dans matplotlibrc ou localement avec:
from matplotlib import rc
rc('font', **{'family':'serif','serif':['Palatino']})
rc('text', usetex=True)
Cela changerait votre police serif latex. Vous pouvez également spécifier le Helvetica sans-serif comme ceci
rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
Autres options sont cursive
et monospace
avec leurs noms de police.
Votre étiquette serait alors
fig.gca().set_xlabel(r'wavelength $5000 \AA$')
Si la police ne fournit pas de symbole Angstrom, vous pouvez essayer d'utiliser \mathring{A}
Vous avez besoin pour faire les cordes raw et utiliser latex:
fig.gca().set_ylabel(r'$\lambda$')
Depuis matplotlib 2.0, la police par défaut prend en charge la plupart des alphabets occidentaux et peut simplement faire
ax.set_xlabel('λ')
Avec unicode.
Si vous voulez avoir une chaîne normale en face de la lettre grecque, assurez-vous que vous avez le bon ordre:
plt.ylabel(r'Microstrain [$\mu \epsilon$]')
Python 3.x:
les petites lettres grecques sont codées de 945 à 969
donc,alpha est chr(945)
, omega est chr(969)
alors tapez simplement
print(chr(945))
La liste des petites lettres grecques dans une liste:
greek_letterz=[chr(code) for code in range(945,970)]
print(greek_letterz)
Et maintenant, alpha est greek_letterz[0]
, bêta est greek_letterz[1]
, un.s.o
Pourquoi ne pas simplement utiliser les caractères littéraux?
fig.gca().set_xlabel("wavelength, (Å)")
fig.gca().set_ylabel("λ")
Vous devrez peut-être ajouter ceci au fichier si vous utilisez python 2:
# -*- coding: utf-8 -*-
from __future__ import unicode literals # or use u"unicode strings"
Il peut être plus facile de définir des constantes pour les caractères qui ne sont pas faciles à taper sur votre clavier.
ANGSTROM, LAMDBA = "Åλ"
Ensuite, vous pouvez les réutiliser ailleurs.
fig.gca().set_xlabel("wavelength, (%s)" % ANGSTROM)
fig.gca().set_ylabel(LAMBDA)