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!

28
demandé sur mcglashan 2012-11-12 08:53:41

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}

17
répondu BandGap 2013-01-05 22:44:16

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.

34
répondu tacaswell 2017-03-02 16:45:08

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$]')
7
répondu Frelm 2013-10-14 00:35:32

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

3
répondu Arpad Kosa 2016-05-28 20:46:11

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)
2
répondu Håken Lid 2016-12-04 10:39:52