Griekse letters enz. typen in Python-plots

Ik moet Griekse letters en het Angstrom-symbool typen in labels van assen in een plot. Dus bijvoorbeeld

fig.gca().set_xlabel("$wavelength\, (Angstrom)$")
fig.gca().set_ylabel("$lambda$")

behalve dat ik eigenlijk wil dat ‘Angstrom’ en ‘lambda’ worden vervangen door echte symbolen. Hoe moet ik dit doen? Bedankt!


Antwoord 1, autoriteit 100%

Je moet de strings onbewerktmaken en latex:

fig.gca().set_ylabel(r'$\lambda$')

Vanaf matplotlib 2.0 ondersteunt het standaardlettertype de meeste westerse alfabettenen kan het eenvoudig

ax.set_xlabel('λ')

met unicode.


Antwoord 2, autoriteit 31%

Je kunt niet alleen onbewerkte tekenreeksen aan matplotlib toevoegen, maar je kunt het lettertype ook in matplotlibrc of lokaal specificeren met:

from matplotlib import rc
rc('font', **{'family':'serif','serif':['Palatino']})
rc('text', usetex=True)

Dit zou je serif-latex-lettertype veranderen. Je kunt de schreefloze Helvetica ook zo specificeren

rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})

Andere opties zijn cursiveen monospacemet hun respectievelijke lettertypenamen.
Uw label is dan

fig.gca().set_xlabel(r'wavelength $5000 \AA$')

Als het lettertype geen Angstrom-symbool bevat, kunt u proberen \mathring{A}

te gebruiken


Antwoord 3, autoriteit 20%

Als je een normale string voor de Griekse letter wilt hebben, zorg er dan voor dat je de juiste volgorde hebt:

plt.ylabel(r'Microstrain [$\mu \epsilon$]')

Antwoord 4, autoriteit 14%

Python 3.x:
kleine Griekse letters zijn gecodeerd van 945 tot 969
dus,alpha is chr(945), omega is chr(969)
dus typ gewoon

print(chr(945))

de lijst met kleine Griekse letters in een lijst:

greek_letterz=[chr(code) for code in range(945,970)]
print(greek_letterz)

En nu, alpha is greek_letterz[0], beta is greek_letterz[1], a.s.o


Antwoord 5, autoriteit 5%

Waarom niet gewoon de letterlijke tekens gebruiken?

fig.gca().set_xlabel("wavelength, (Å)")
fig.gca().set_ylabel("λ")

Mogelijk moet u dit aan het bestand toevoegen als u python 2 gebruikt:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals  # or use u"unicode strings"

Het is misschien makkelijker om constanten te definiëren voor tekens die niet gemakkelijk te typen zijn op je toetsenbord.

ANGSTROM, LAMDBA = "Åλ"

Dan kun je ze ergens anders hergebruiken.

fig.gca().set_xlabel("wavelength, (%s)" % ANGSTROM)
fig.gca().set_ylabel(LAMBDA)

Antwoord 6

Je kunt gewoon unicode-tekens gebruiken in python. Zie de volgende link Unicode-tekens voor ingenieurs in Python
.

Other episodes