Hinweis
Zum Ende springen, um den gesamten Beispielcode herunterzuladen.
Mathematische Ausdrücke schreiben#
Matplotlib implementiert einen leichten TeX-Ausdrucksparser und eine Layout-Engine. Mathtext ist die Untermenge des Tex-Markup, das diese Engine unterstützt. Beachten Sie, dass Matplotlib auch allen Text direkt mit TeX rendern kann, wenn rcParams["text.usetex"] (Standard: False) auf True gesetzt ist; siehe Text-Rendering mit LaTeX für weitere Details. Mathtext-Unterstützung ist verfügbar, wenn rcParams["text.usetex"] (Standard: False) False ist.
Jede Zeichenkette kann als Mathtext verarbeitet werden, indem sie in ein Paar Dollarzeichen '$' eingeschlossen wird. Mathtext enthält oft viele Backslashes '\'. Damit die Backslashes nicht escaped werden müssen, wird Mathtext oft mit Raw-Strings geschrieben. Zum Beispiel:
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(3, 3), linewidth=1, edgecolor='black')
fig.text(.2, .7, "plain text: alpha > beta")
fig.text(.2, .5, "Mathtext: $\\alpha > \\beta$")
fig.text(.2, .3, r"raw string Mathtext: $\alpha > \beta$")

Siehe auch
TeX muss nicht installiert sein, um Mathtext zu verwenden, da Matplotlib den Mathtext-Parser und die Engine mitliefert. Die Mathtext-Layout-Engine ist eine ziemlich direkte Anpassung der Layout-Algorithmen in Donald Knuths TeX. Um mathematischen Text mit einer anderen TeX-Engine zu rendern, siehe Text-Rendering mit LaTeX.
Hinweis
Um HTML-Ausgabe in der Dokumentation zu erzeugen, die exakt mit der von mathtext generierten Ausgabe übereinstimmt, verwenden Sie die Sphinx-Erweiterung matplotlib.sphinxext.mathmpl.
Sonderzeichen#
Mathtext muss zwischen einem Paar (US) Dollarzeichen '$' stehen. Ein literales Dollarzeichen '$' in einer Zeichenkette, die Mathtext enthält, muss mit einem Backslash escaped werden: '\$'. Eine Zeichenkette kann mehrere Paare von Dollarzeichen enthalten, was zu mehreren Mathtext-Ausdrücken führt. Zeichenketten mit einer ungeraden Anzahl von Dollarzeichen werden ausschließlich als normaler Text gerendert.
fig = plt.figure(figsize=(3, 3), linewidth=1, edgecolor='black')
fig.suptitle("Number of unescaped $")
fig.text(.1, .7, r"odd: $ \alpha $ = $1")
fig.text(.1, .5, r"even: $ \beta $= $ 2 $")
fig.text(.1, .3, r'odd: $ \gamma $= \$3 $')
fig.text(.1, .1, r'even: $ \delta $ = $ \$4 $')

Obwohl Mathtext Kompatibilität mit regulärem TeX anstrebt, unterscheidet es sich darin, wann Sonderzeichen escaped werden müssen. In TeX muss das Dollarzeichen in Nicht-Mathematik-Text '\$' escaped werden, während in Matplotlib das Dollarzeichen beim Schreiben von Mathtext escaped werden muss.
Diese anderen Sonderzeichen werden in Nicht-Mathematik-TeX ebenfalls escaped, während in Matplotlib ihr Verhalten davon abhängt, wie rcParams["text.usetex"] (Standard: False) gesetzt ist.
# $ % & ~ _ ^ \ { } \( \) \[ \]
Siehe das usetex Tutorial für weitere Informationen.
Indizes und Exponenten#
Um Indizes und Exponenten zu erstellen, verwenden Sie die Symbole '_' und '^'.
r'$\alpha_i > \beta_i$'
Um mehrbuchstabige Indizes oder Exponenten korrekt anzuzeigen, sollten Sie diese in geschweifte Klammern {...} setzen.
r'$\alpha^{ic} > \beta_{ic}$'
Einige Symbole setzen ihre Indizes/Exponenten automatisch unter und über den Operator. Zum Beispiel, um die Summe von
von
bis
zu schreiben, könnten Sie Folgendes tun:
r'$\sum_{i=0}^\infty x_i$'
Brüche, Binomialkoeffizienten und gestapelte Zahlen#
Brüche, Binomialkoeffizienten und gestapelte Zahlen können mit den Befehlen \frac{}{}, \binom{}{} und \genfrac{}{}{}{}{}{} erstellt werden.
r'$\frac{3}{4} \binom{3}{4} \genfrac{}{}{0}{}{3}{4}$'
ergibt
Brüche können beliebig verschachtelt werden.
r'$\frac{5 - \frac{1}{x}}{4}$'
ergibt
Beachten Sie, dass besondere Sorgfalt erforderlich ist, um Klammern und eckige Klammern um Brüche zu setzen. Wenn Sie die Dinge auf offensichtliche Weise tun, werden die Klammern zu klein.
r'$(\frac{5 - \frac{1}{x}}{4})$'
Die Lösung besteht darin, der Klammer \left und \right voranzustellen, um dem Parser mitzuteilen, dass diese Klammern das gesamte Objekt umschließen.
r'$\left(\frac{5 - \frac{1}{x}}{4}\right)$'
Radikale#
Radikale können mit dem Befehl \sqrt[]{} erzeugt werden. Zum Beispiel:
r'$\sqrt{2}$'
Eine beliebige Basis kann (optional) in eckigen Klammern angegeben werden. Beachten Sie, dass die Basis ein einfacher Ausdruck sein muss und keine Layout-Befehle wie Brüche oder Indizes/Exponenten enthalten darf.
r'$\sqrt[3]{x}$'
Schriftarten#
Die Standardschriftart ist kursiv für mathematische Symbole.
Diese Standardeinstellung kann über rcParams["mathtext.default"] (Standard: 'it') geändert werden. Zum Einstellen von rcParams siehe Anpassen von Matplotlib mit Stilvorlagen und rcParams. Beispielsweise ermöglicht das Setzen des Standards auf regular die Verwendung derselben Schriftart für mathematischen Text und normalen Nicht-Mathematik-Text.
Um Schriftarten zu ändern, z. B. um "sin" in einer serifenlosen Schriftart zu schreiben, schließen Sie den Text in einen Schriftbefehl ein.
r'$s(t) = \mathcal{A}\mathrm{sin}(2 \omega t)$'
Praktischerweise haben viele gebräuchliche Funktionsnamen, die in serifenloser Schriftart gesetzt werden, Verknüpfungen. Der obige Ausdruck könnte also wie folgt geschrieben werden:
r'$s(t) = \mathcal{A}\sin(2 \omega t)$'
Hier sind "s" und "t" Variablen in kursiver Schriftart (Standard), "sin" in serifenloser Schriftart und die Amplitude "A" in kalligrafischer Schriftart. Beachten Sie im obigen Beispiel, dass das kalligrafische A in das sin gequetscht wird. Sie können einen Abstands-Befehl verwenden, um etwas Leerraum dazwischen einzufügen.
r's(t) = \mathcal{A}\/\sin(2 \omega t)'
Mathtext kann DejaVu Sans (Standard), DejaVu Serif, Computer Modern-Schriften von (La)TeX, STIX-Schriften, die so konzipiert sind, dass sie gut mit Times harmonieren, oder eine von Ihnen bereitgestellte Unicode-Schriftart verwenden. Die Mathtext-Schriftart kann über rcParams["mathtext.fontset"] (Standard: 'dejavusans') ausgewählt werden.
Die mit allen Schriftarten verfügbaren Optionen sind:
Befehl |
Ergebnis |
|---|---|
|
|
|
|
|
|
|
|
Bei Verwendung der STIX-Schriften haben Sie auch die Wahl zwischen:
Befehl |
Ergebnis |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Es gibt auch fünf globale "Schriftarten-Sets" zur Auswahl, die über den Parameter mathtext.fontset in matplotlibrc ausgewählt werden.
dejavusans: DejaVu Sans
dejavuserif: DejaVu Serif
cm: Computer Modern (TeX)
stix: STIX (konzipiert, um gut mit Times zu harmonieren)
stixsans: STIX serifenlos
Zusätzlich können Sie \mathdefault{...} oder dessen Alias \mathregular{...} verwenden, um die Schriftart zu nutzen, die für normalen Text außerhalb von Mathtext verwendet wird. Dieser Ansatz hat eine Reihe von Einschränkungen, insbesondere dass weitaus weniger Symbole verfügbar sind, aber er kann nützlich sein, um mathematische Ausdrücke gut mit anderem Text im Diagramm zu verbinden.
Zur Kompatibilität mit beliebten Paketen ist \text{...} verfügbar und verwendet die \mathrm{...}-Schriftart, behält aber ansonsten Leerzeichen bei und rendert - als Bindestrich (nicht Minus).
Benutzerdefinierte Schriftarten#
Mathtext bietet auch eine Möglichkeit, benutzerdefinierte Schriftarten für Mathematik zu verwenden. Diese Methode ist ziemlich schwierig zu verwenden und sollte als experimentelles Feature nur für geduldige Benutzer betrachtet werden. Durch Setzen von rcParams["mathtext.fontset"] (Standard: 'dejavusans') auf custom können Sie dann die folgenden Parameter setzen, die steuern, welche Schriftdatei für einen bestimmten Satz mathematischer Zeichen verwendet wird.
Parameter |
Entspricht |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jeder Parameter sollte auf eine Fontconfig-Schriftartbeschreibung gesetzt werden, wie in Schriftarten in Matplotlib definiert. Die verwendeten Schriftarten sollten eine Unicode-Zuordnung haben, um nicht-lateinische Zeichen wie Griechisch zu finden. Wenn Sie ein mathematisches Symbol verwenden möchten, das nicht in Ihren benutzerdefinierten Schriftarten enthalten ist, können Sie rcParams["mathtext.fallback"] (Standard: 'cm') auf 'cm', 'stix' oder 'stixsans' setzen, was dazu führt, dass das Mathtext-System Zeichen aus einer alternativen Schriftart verwendet, wenn ein bestimmtes Zeichen nicht in der benutzerdefinierten Schriftart gefunden werden kann.
Beachten Sie, dass sich die in Unicode spezifizierten mathematischen Glyphen im Laufe der Zeit weiterentwickelt haben und viele Schriftarten möglicherweise keine Glyphen an der richtigen Stelle für Mathtext haben.
Akzente#
Ein Akzentbefehl kann einem beliebigen Symbol vorangestellt werden, um einen Akzent darüber zu setzen. Für einige davon gibt es lange und kurze Formen.
Befehl |
Ergebnis |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Zusätzlich gibt es zwei spezielle Akzente, die sich automatisch an die Breite der darunter liegenden Symbole anpassen:
Befehl |
Ergebnis |
|---|---|
|
|
|
|
Bei der Platzierung von Akzenten über Kleinbuchstaben "i" und "j" ist Vorsicht geboten. Beachten Sie, dass im Folgenden \imath verwendet wird, um den zusätzlichen Punkt über dem "i" zu vermeiden.
r"$\hat i\ \ \hat \imath$"
Symbole#
Sie können auch eine große Anzahl von TeX-Symbolen verwenden, wie \infty, \leftarrow, \sum, \int.
Kleinbuchstaben Griechisch
α |
β |
γ |
δ |
ε |
ε |
ζ |
η |
θ |
ϑ |
ι |
κ |
ϰ |
λ |
μ |
ν |
ξ |
π |
ϖ |
ρ |
ϱ |
σ |
ς |
τ |
υ |
χ |
ψ |
ω |
ϕ |
φ |
ϝ |
Großbuchstaben Griechisch
Γ |
Δ |
Θ |
Λ |
Ξ |
Π |
Σ |
Υ |
Φ |
Ψ |
Ω |
Hebräisch
ℸ |
ℷ |
ℶ |
ℵ |
Lateinische benannte Zeichen
Å |
Æ |
Ð |
Ø |
Þ |
ß |
å |
æ |
ð |
ð |
ø |
þ |
Œ |
œ |
Begrenzer
( |
( |
) |
) |
. |
/ |
< |
> |
[ |
[ |
\ |
| |
| |
] |
] |
{ |
{ |
{ |
} |
} |
} |
‖ |
‖ |
↑ |
↓ |
↕ |
⇑ |
⇓ |
⇕ |
⌈ |
⌉ |
⌊ |
⌋ |
⟨ |
⟩ |
⟮ |
⟯ |
Große Symbole
∏ |
∐ |
∑ |
∫ |
∬ |
∭ |
∮ |
∯ |
∰ |
⋀ |
⋁ |
⋂ |
⋃ |
⨀ |
⨁ |
⨂ |
⨄ |
⨆ |
⨌ |
Standard-Funktionsnamen
Pr |
arccos |
arcsin |
arctan |
arg |
cos |
cosh |
cot |
coth |
csc |
deg |
det |
dim |
exp |
gcd |
hom |
inf |
ker |
lg |
lim |
liminf |
limsup |
ln |
log |
max |
min |
sec |
sin |
sinh |
sup |
tan |
tanh |
Binäre Operationssymbole
* |
+ |
- |
± |
× |
÷ |
† |
‡ |
− |
∓ |
∔ |
∕ |
∖ |
∗ |
∘ |
∙ |
∧ |
∨ |
∩ |
∪ |
∸ |
∹ |
∺ |
≀ |
⊍ |
⊎ |
⊓ |
⊔ |
⊕ |
⊖ |
⊗ |
⊘ |
⊙ |
⊚ |
⊛ |
⊝ |
⊞ |
⊟ |
⊠ |
⊡ |
⊴ |
⊵ |
⊺ |
⊻ |
⊼ |
⊽ |
⋄ |
⋅ |
⋆ |
⋇ |
⋋ |
⋌ |
⋎ |
⋏ |
⋒ |
⋓ |
⌆ |
⌽ |
△ |
▷ |
▷ |
▽ |
◁ |
◁ |
○ |
◫ |
⨿ |
⩕ |
Relation symbols
: |
< |
= |
= |
> |
϶ |
… |
∈ |
∉ |
∊ |
∋ |
∌ |
∍ |
∝ |
∝ |
∟ |
∣ |
∤ |
∥ |
∦ |
∴ |
∵ |
∶ |
∼ |
∽ |
≁ |
≂ |
≃ |
≄ |
≅ |
≆ |
≇ |
≈ |
≉ |
≊ |
≋ |
≌ |
≍ |
≎ |
≏ |
≐ |
≑ |
≑ |
≒ |
≓ |
≔ |
≕ |
≖ |
≗ |
≘ |
≙ |
≚ |
≛ |
≜ |
≜ |
≝ |
≞ |
≟ |
≠ |
≠ |
≡ |
≢ |
≣ |
≤ |
≥ |
≦ |
≧ |
≨ |
≩ |
≪ |
≫ |
≬ |
≮ |
≯ |
≰ |
≱ |
≲ |
≳ |
≴ |
≵ |
≶ |
≷ |
≸ |
≹ |
≺ |
≻ |
≼ |
≼ |
≽ |
≽ |
≾ |
≿ |
⊀ |
⊁ |
⊂ |
⊃ |
⊄ |
⊅ |
⊆ |
⊇ |
⊈ |
⊉ |
⊊ |
⊋ |
⊏ |
⊐ |
⊑ |
⊒ |
⊜ |
⊢ |
⊣ |
⊤ |
⊥ |
⊦ |
⊧ |
⊨ |
⊩ |
⊪ |
⊫ |
⊬ |
⊭ |
⊮ |
⊯ |
⊱ |
⊴ |
⊵ |
⊾ |
⊿ |
⋈ |
⋉ |
⋊ |
⋍ |
⋐ |
⋑ |
⋔ |
⋕ |
⋖ |
⋗ |
⋘ |
⋙ |
⋚ |
⋛ |
⋜ |
⋝ |
⋞ |
⋟ |
⋠ |
⋡ |
⋢ |
⋣ |
⋤ |
⋥ |
⋦ |
⋧ |
⋨ |
⋩ |
⋪ |
⋫ |
⋬ |
⋭ |
⋲ |
⋴ |
⋳ |
⋵ |
⋷ |
⋶ |
⋸ |
⋹ |
⋺ |
⋼ |
⋻ |
⋾ |
⋽ |
⋿ |
⌢ |
⌣ |
△ |
▶ |
▷ |
⊳ |
◀ |
◁ |
⊲ |
⟂ |
⨝ |
⩽ |
⩾ |
⪅ |
⪆ |
⪉ |
⪊ |
⪋ |
⪌ |
⪕ |
⪖ |
⪷ |
⪸ |
⪹ |
⪺ |
⫅ |
⫆ |
⫋ |
⫌ |
Arrow symbols
⃖ |
|
← |
↑ |
→ |
→ |
↓ |
↔ |
↕ |
↖ |
↗ |
↘ |
↙ |
↚ |
↛ |
↜ |
↝ |
↞ |
↟ |
↠ |
↡ |
↢ |
↣ |
↤ |
↥ |
↦ |
↧ |
↨ |
↩ |
↪ |
↫ |
↬ |
↭ |
↮ |
↯ |
↰ |
↱ |
↲ |
↳ |
↶ |
↷ |
↺ |
↻ |
↻ |
↼ |
↽ |
↾ |
↿ |
⇀ |
⇁ |
⇂ |
⇃ |
⇄ |
⇅ |
⇆ |
⇇ |
⇈ |
⇉ |
⇊ |
⇋ |
⇌ |
⇍ |
⇎ |
⇏ |
⇐ |
⇑ |
⇒ |
⇓ |
⇔ |
⇕ |
⇖ |
⇗ |
⇘ |
⇙ |
⇚ |
⇛ |
⇝ |
⇝ |
⇤ |
⇥ |
⊌ |
⊸ |
⟵ |
⟶ |
⟷ |
⟸ |
⟹ |
⟺ |
⟼ |
⤎ |
⤏ |
Dot symbols
… |
∴ |
∵ |
∷ |
⋮ |
⋯ |
⋰ |
⋱ |
Black-board characters
ℂ |
ℕ |
ℙ |
ℚ |
ℝ |
ℤ |
Script characters
ℊ |
ℋ |
ℐ |
ℒ |
ℛ |
ℬ |
ℯ |
ℰ |
ℱ |
ℳ |
ℴ |
Fraktur characters
ℨ |
ℭ |
Miscellaneous symbols
$ |
¢ |
£ |
¥ |
§ |
© |
¬ |
® |
° |
¶ |
ħ |
ı |
ı |
Ł |
ł |
ƛ |
ȷ |
† |
‡ |
‰ |
′ |
‵ |
ℏ |
ℑ |
ℓ |
℘ |
ℜ |
℧ |
Ⅎ |
⅁ |
∀ |
∁ |
∂ |
∃ |
∄ |
∅ |
∅ |
∆ |
∇ |
∎ |
∞ |
∠ |
∡ |
∢ |
∾ |
∿ |
⊹ |
Ⓢ |
■ |
△ |
▵ |
▴ |
▾ |
▿ |
★ |
☡ |
♠ |
♡ |
♢ |
♣ |
♧ |
♭ |
♮ |
♯ |
✓ |
✠ |
If a particular symbol does not have a name (as is true of many of the more obscure symbols in the STIX fonts), Unicode characters can also be used
r'$\u23ce$'























