Notiz
Klicken Sie hier , um den vollständigen Beispielcode herunterzuladen
Mathematische Ausdrücke schreiben #
Sie können eine Teilmenge von TeX-Markup in jeder Matplotlib-Textzeichenfolge verwenden, indem Sie sie in ein Paar Dollarzeichen ($) einfügen.
Beachten Sie, dass Sie TeX nicht installiert haben müssen, da Matplotlib seinen eigenen TeX-Ausdrucksparser, Layout-Engine und Schriftarten mitliefert. Die Layout-Engine ist eine ziemlich direkte Anpassung der Layout-Algorithmen in Donald Knuths TeX, daher ist die Qualität ziemlich gut (Matplotlib bietet auch eine usetex
Option für diejenigen, die TeX aufrufen möchten, um ihren Text zu generieren; siehe Textdarstellung
mit LaTeX ) .
Jedes Textelement kann mathematischen Text verwenden. Sie sollten rohe Zeichenfolgen verwenden (den Anführungszeichen ein voranstellen 'r'
) und den mathematischen Text mit Dollarzeichen ($) umgeben, wie in TeX. Normaler Text und mathematischer Text können innerhalb derselben Zeichenfolge verschachtelt werden. Mathtext kann DejaVu Sans (Standard), DejaVu Serif, die Computer Modern-Schriftarten (von (La)TeX), STIX- Schriftarten (die sich gut mit Times kombinieren lassen) oder eine von Ihnen bereitgestellte Unicode-Schriftart verwenden. Die Mathtext-Schriftart kann über rcParams["mathtext.fontset"]
(Standard: 'dejavusans'
) ausgewählt werden (siehe
Anpassen von Matplotlib mit Stylesheets und rcParams )
Hier ist ein einfaches Beispiel:
# plain text
plt.title('alpha > beta')
erzeugt "Alpha > Beta".
Wobei dies:
# math text
plt.title(r'$\alpha > \beta$')
produziert " ".
Notiz
Mathtext sollte zwischen zwei Dollarzeichen ($) platziert werden. Um die Anzeige von Geldwerten zu erleichtern, z. B. "$100,00", wird ein einzelnes Dollarzeichen in der gesamten Zeichenfolge wörtlich als Dollarzeichen angezeigt. Dies ist eine kleine Änderung gegenüber normalem TeX, wo das Dollarzeichen in nicht mathematischem Text maskiert werden müsste ('\$').
Notiz
Während die Syntax innerhalb des Dollarzeichenpaars ($) darauf abzielt, TeX-ähnlich zu sein, ist dies für den Text außerhalb nicht der Fall. Insbesondere Charaktere wie:
# $ % & ~ _ ^ \ { } \( \) \[ \]
haben außerhalb des mathematischen Modus in TeX eine besondere Bedeutung. Daher verhalten sich diese Zeichen je nach rcParams["text.usetex"]
(Standard: False
) unterschiedlich. Weitere Informationen finden Sie im
usetex-Tutorial .
Tiefgestellte und hochgestellte Zeichen #
Um Tief- und Hochstellungen zu erstellen, verwenden Sie die Symbole '_'
und :'^'
r'$\alpha_i > \beta_i$'
Um tiefgestellte oder hochgestellte Buchstaben mit mehreren Buchstaben korrekt anzuzeigen, sollten Sie sie in geschweifte Klammern setzen {...}
:
r'$\alpha^{ic} > \beta_{ic}$'
Bei einigen Symbolen werden ihre Tief-/Hochstellungen automatisch unter und über dem Operator platziert. Um beispielsweise die Summe von von bis zu schreiben , könnten Sie Folgendes tun:
r'$\sum_{i=0}^\infty x_i$'
Brüche, Binome und gestapelte Zahlen #
Brüche, Binome und gestapelte Zahlen können mit den
Befehlen , bzw. \frac{}{}
erstellt \binom{}{}
werden :\genfrac{}{}{}{}{}{}
r'$\frac{3}{4} \binom{3}{4} \genfrac{}{}{0}{}{3}{4}$'
produziert
Brüche können beliebig verschachtelt werden:
r'$\frac{5 - \frac{1}{x}}{4}$'
produziert
Beachten Sie, dass beim Platzieren von runden und eckigen Klammern um Brüche besondere Sorgfalt geboten ist. Wenn Sie die Dinge auf die offensichtliche Weise tun, werden zu kleine Klammern erzeugt:
r'$(\frac{5 - \frac{1}{x}}{4})$'
Die Lösung besteht darin, der Klammer voranzustellen \left
und \right
den Parser darüber zu informieren, dass diese Klammern das gesamte Objekt umfassen.:
r'$\left(\frac{5 - \frac{1}{x}}{4}\right)$'
Radikale #
Radikale können mit dem \sqrt[]{}
Befehl erzeugt werden. Zum Beispiel:
r'$\sqrt{2}$'
Jede 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 hoch-/tiefgestellte Zeichen enthalten darf:
r'$\sqrt[3]{x}$'
Schriftarten #
Die Standardschriftart ist kursiv für mathematische Symbole.
Notiz
Diese Voreinstellung kann mit rcParams["mathtext.default"]
(Voreinstellung: 'it'
) geändert werden. Dies ist beispielsweise nützlich, um für mathematischen Text dieselbe Schriftart wie normaler nicht mathematischer Text zu verwenden, indem Sie ihn auf regular
.
Um Schriftarten zu ändern, z. B. um "sin" in einer lateinischen Schriftart zu schreiben, schließen Sie den Text in einen Schriftartbefehl ein:
r'$s(t) = \mathcal{A}\mathrm{sin}(2 \omega t)$'
Praktischerweise haben viele häufig verwendete Funktionsnamen, die in einer römischen Schriftart gesetzt sind, 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“ variabel in kursiver Schrift (Standard), „sin“ in Roman-Schrift und die Amplitude „A“ in Kalligrafie-Schrift. Beachten Sie, dass im obigen Beispiel die Kalligrafie A
in die sin
. Sie können einen Abstandsbefehl verwenden, um einen kleinen Leerraum zwischen ihnen hinzuzufügen:
r's(t) = \mathcal{A}\/\sin(2 \omega t)'
Die für alle Schriftarten verfügbaren Optionen sind:
Befehl
Ergebnis
\mathrm{Roman}
\mathit{Italic}
\mathtt{Typewriter}
\mathcal{CALLIGRAPHY}
Bei der Verwendung der STIX- Fonts haben Sie außerdem die Wahl zwischen:
Befehl
Ergebnis
\mathbb{blackboard}
\mathrm{\mathbb{blackboard}}
\mathfrak{Fraktur}
\mathsf{sansserif}
\mathrm{\mathsf{sansserif}}
Außerdem stehen fünf globale „Font Sets“ zur Auswahl, die über den mathtext.fontset
Parameter in matplotlibrc ausgewählt werden .
dejavusans
: DejaVu Sans
dejavuserif
: DejaVu-Serife
cm
: Computer Modern (TeX)
stix
: STIX (entworfen, um gut mit Times zu harmonieren)
stixsans
: STIX serifenlos
Darüber hinaus können Sie \mathdefault{...}
oder seinen Alias
\mathregular{...}
verwenden, um die Schriftart zu verwenden, die für normalen Text außerhalb von mathtext verwendet wird. Es gibt eine Reihe von Einschränkungen bei diesem Ansatz, vor allem, dass viel weniger Symbole verfügbar sind, aber es kann nützlich sein, mathematische Ausdrücke gut mit anderem Text in der Handlung zu verschmelzen.
Benutzerdefinierte Schriftarten #
mathtext bietet auch eine Möglichkeit, benutzerdefinierte Schriftarten für Mathematik zu verwenden. Diese Methode ist ziemlich schwierig anzuwenden und sollte nur als experimentelle Funktion für geduldige Benutzer betrachtet werden. Indem Sie rcParams["mathtext.fontset"]
(Standard: 'dejavusans'
) auf custom
setzen, können Sie die folgenden Parameter festlegen, die steuern, welche Schriftartdatei für einen bestimmten Satz mathematischer Zeichen verwendet werden soll.
Parameter
Entspricht
mathtext.it
\mathit{}
oder standardmäßig kursiv
mathtext.rm
\mathrm{}
Roman (aufrecht)
mathtext.tt
\mathtt{}
Schreibmaschine (Monospace)
mathtext.bf
\mathbf{}
Fett Kursiv
mathtext.cal
\mathcal{}
kalligraphisch
mathtext.sf
\mathsf{}
serifenlos
Jeder Parameter sollte auf einen fontconfig-Font-Deskriptor gesetzt werden (wie im noch zu schreibenden Font-Kapitel definiert).
Die verwendeten Schriftarten sollten eine Unicode-Zuordnung haben, um alle nicht-lateinischen Zeichen, wie z. B. 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'
) entweder auf 'cm'
, 'stix'
oder setzen, 'stixsans'
wodurch das Mathtext-System Zeichen aus einer alternativen Schriftart verwendet, wenn ein bestimmtes Zeichen darin nicht gefunden werden kann die benutzerdefinierte Schriftart.
Beachten Sie, dass sich die in Unicode angegebenen mathematischen Glyphen im Laufe der Zeit weiterentwickelt haben und viele Schriftarten Glyphen möglicherweise nicht an der richtigen Stelle für mathematischen Text haben.
Akzente #
Ein Akzentbefehl kann jedem Symbol vorangestellt werden, um darüber einen Akzent hinzuzufügen. Für einige von ihnen gibt es lange und kurze Formen.
Befehl
Ergebnis
\acute a
oder\'a
\bar a
\breve a
\dot a
oder\.a
\ddot a
oder\''a
\dddot a
\ddddot a
\grave a
oder\`a
\hat a
oder\^a
\tilde a
oder\~a
\vec a
\overline{abc}
Darüber hinaus gibt es zwei spezielle Akzente, die sich automatisch an die Breite der folgenden Symbole anpassen:
Befehl
Ergebnis
\widehat{xyz}
\widetilde{xyz}
Achten Sie darauf, Akzente auf kleine i und j zu setzen. 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 der TeX-Symbole verwenden, wie in \infty
,
\leftarrow
, \sum
, \int
.
Griechisch in Kleinbuchstaben
a
\alpha
β
\beta
χ
\chi
δ
\delta
ϝ
\digamma
ε
\epsilon
η
\eta
γ
\gamma
ι
\iota
κ
\kappa
λ
\lambda
μ
\mu
v
\nu
ω
\omega
ϕ
\phi
π
\pi
ψ
\psi
ρ
\rho
σ
\sigma
τ
\tau
θ
\theta
υ
\upsilon
ε
\varepsilon
ϰ
\varkappa
φ
\varphi
ϖ
\varpi
ϱ
\varrho
ς
\varsigma
ϑ
\vartheta
ξ
\xi
ζ
\zeta
Griechisch in Großbuchstaben
Δ
\Delta
Γ
\Gamma
Λ
\Lambda
Ω
\Omega
Φ
\Phi
Π
\Pi
Ψ
\Psi
Σ
\Sigma
Θ
\Theta
Υ
\Upsilon
Ξ
\Xi
℧
\mho
∇
\nabla
hebräisch
ℵ
\aleph
ℶ
\beth
ℸ
\daleth
ℷ
\gimel
Trennzeichen
/
/
[
[
⇓
\Downarrow
⇑
\Uparrow
“
\Vert
\
\backslash
↓
\downarrow
⟨
\langle
⌈
\lceil
⌊
\lfloor
⌞
\llcorner
⌟
\lrcorner
⟩
\rangle
⌉
\rceil
⌋
\rfloor
⌜
\ulcorner
↑
\uparrow
⌝
\urcorner
|
\vert
{
\{
|
\|
}
\}
]
]
|
|
Große Symbole
⋂
\bigcap
⋃
\bigcup
⨀
\bigodot
⨁
\bigoplus
⨂
\bigotimes
⨄
\biguplus
⋁
\bigvee
⋀
\bigwedge
∐
\coprod
∫
\int
∮
\oint
∏
\prod
∑
\sum
Standardfunktionsnamen
Pr
\Pr
arccos
\arccos
arcsin
\arcsin
arctan
\arctan
Arg
\arg
cos
\cos
cosch
\cosh
Kinderbett
\cot
coth
\coth
csc
\csc
Grad
\deg
det
\det
schwach
\dim
exp
\exp
gcd
\gcd
heim
\hom
inf
\inf
Ker
\ker
lg
\lg
lim
\lim
begrenzen
\liminf
limsup
\limsup
ln
\ln
Protokoll
\log
max
\max
Mindest
\min
Sek
\sec
Sünde
\sin
Sünde
\sinh
sup
\sup
bräunen
\tan
Tanh
\tanh
Binäre Operationen und Beziehungssymbole
≎
\Bumpeq
⋒
\Cap
⋓
\Cup
≑
\Doteq
⨝
\Join
⋐
\Subset
⋑
\Supset
⊩
\Vdash
⊪
\Vvdash
≈
\approx
≊
\approxeq
∗
\ast
≍
\asymp
϶
\backepsilon
∽
\backsim
⋍
\backsimeq
⊼
\barwedge
∵
\because
≬
\between
○
\bigcirc
▽
\bigtriangledown
△
\bigtriangleup
◀
\blacktriangleleft
▶
\blacktriangleright
⊥
\bot
⋈
\bowtie
⊡
\boxdot
⊟
\boxminus
⊞
\boxplus
⊠
\boxtimes
∙
\bullet
≏
\bumpeq
∩
\cap
⋅
\cdot
∘
\circ
≗
\circeq
≔
\coloneq
≅
\cong
∪
\cup
⋞
\curlyeqprec
⋟
\curlyeqsucc
⋎
\curlyvee
⋏
\curlywedge
†
\dag
⊣
\dashv
‡
\ddag
⋄
\diamond
÷
\div
⋇
\divideontimes
≐
\doteq
≑
\doteqdot
∔
\dotplus
⌆
\doublebarwedge
≖
\eqcirc
≕
\eqcolon
≂
\eqsim
⪖
\eqslantgtr
⪕
\eqslantless
≡
\equiv
≒
\fallingdotseq
⌢
\frown
≥
\geq
≧
\geqq
⩾
\geqslant
≫
\gg
⋙
\ggg
⪺
\gnapprox
≩
\gneqq
⋧
\gnsim
⪆
\gtrapprox
⋗
\gtrdot
⋛
\gtreqless
⪌
\gtreqqless
≷
\gtrless
≳
\gtrsim
∈
\in
⊺
\intercal
⋋
\leftthreetimes
≤
\leq
≦
\leqq
⩽
\leqslant
⪅
\lessapprox
⋖
\lessdot
⋚
\lesseqgtr
⪋
\lesseqqgtr
≶
\lessgtr
≲
\lesssim
≪
\ll
⋘
\lll
⪹
\lnapprox
≨
\lneqq
⋦
\lnsim
⋉
\ltimes
∣
\mid
⊧
\models
∓
\mp
⊯
\nVDash
⊮
\nVdash
≉
\napprox
≇
\ncong
≠
\ne
≠
\neq
≠
\neq
≢
\nequiv
≱
\ngeq
≯
\ngtr
∋
\ni
≰
\nleq
≮
\nless
∤
\nmid
∉
\notin
∦
\nparallel
⊀
\nprec
≁
\nsim
⊄
\nsubset
⊈
\nsubseteq
⊁
\nsucc
⊅
\nsupset
⊉
\nsupseteq
⋪
\ntriangleleft
⋬
\ntrianglelefteq
⋫
\ntriangleright
⋭
\ntrianglerighteq
⊭
\nvDash
⊬
\nvdash
⊙
\odot
⊖
\ominus
⊕
\oplus
⊘
\oslash
⊗
\otimes
∥
\parallel
⟂
\perp
⋔
\pitchfork
±
\pm
≺
\prec
⪷
\precapprox
≼
\preccurlyeq
≼
\preceq
⪹
\precnapprox
⋨
\precnsim
≾
\precsim
∝
\propto
⋌
\rightthreetimes
≓
\risingdotseq
⋊
\rtimes
∼
\sim
≃
\simeq
∕
\slash
⌣
\smile
⊓
\sqcap
⊔
\sqcup
⊏
\sqsubset
⊏
\sqsubset
⊑
\sqsubseteq
⊐
\sqsupset
⊐
\sqsupset
⊒
\sqsupseteq
⋆
\star
⊂
\subset
⊆
\subseteq
⫅
\subseteqq
⊊
\subsetneq
⫋
\subsetneqq
≻
\succ
⪸
\succapprox
≽
\succcurlyeq
≽
\succeq
⪺
\succnapprox
⋩
\succnsim
≿
\succsim
⊃
\supset
⊇
\supseteq
⫆
\supseteqq
⊋
\supsetneq
⫌
\supsetneqq
∴
\therefore
×
\times
⊤
\top
◁
\triangleleft
⊴
\trianglelefteq
≜
\triangleq
▷
\triangleright
⊵
\trianglerighteq
⊎
\uplus
⊨
\vDash
∝
\varpropto
⊲
\vartriangleleft
⊳
\vartriangleright
⊢
\vdash
∨
\vee
⊻
\veebar
∧
\wedge
≀
\wr
Pfeilsymbole
⇓
\Downarrow
⇐
\Leftarrow
⇔
\Leftrightarrow
⇚
\Lleftarrow
⟸
\Longleftarrow
⟺
\Longleftrightarrow
⟹
\Longrightarrow
↰
\Lsh
⇗
\Nearrow
⇖
\Nwarrow
⇒
\Rightarrow
⇛
\Rrightarrow
↱
\Rsh
⇘
\Searrow
⇙
\Swarrow
⇑
\Uparrow
⇕
\Updownarrow
↺
\circlearrowleft
↻
\circlearrowright
↶
\curvearrowleft
↷
\curvearrowright
⤎
\dashleftarrow
⤏
\dashrightarrow
↓
\downarrow
⇊
\downdownarrows
⇃
\downharpoonleft
⇂
\downharpoonright
↩
\hookleftarrow
↪
\hookrightarrow
⇝
\leadsto
←
\leftarrow
↢
\leftarrowtail
↽
\leftharpoondown
↼
\leftharpoonup
⇇
\leftleftarrows
↔
\leftrightarrow
⇆
\leftrightarrows
⇋
\leftrightharpoons
↭
\leftrightsquigarrow
↜
\leftsquigarrow
⟵
\longleftarrow
⟷
\longleftrightarrow
⟼
\longmapsto
⟶
\longrightarrow
↫
\looparrowleft
↬
\looparrowright
↦
\mapsto
⊸
\multimap
⇍
\nLeftarrow
⇎
\nLeftrightarrow
⇏
\nRightarrow
↗
\nearrow
↚
\nleftarrow
↮
\nleftrightarrow
↛
\nrightarrow
↖
\nwarrow
→
\rightarrow
↣
\rightarrowtail
⇁
\rightharpoondown
⇀
\rightharpoonup
⇄
\rightleftarrows
⇄
\rightleftarrows
⇌
\rightleftharpoons
⇌
\rightleftharpoons
⇉
\rightrightarrows
⇉
\rightrightarrows
↝
\rightsquigarrow
↘
\searrow
↙
\swarrow
→
\to
↞
\twoheadleftarrow
↠
\twoheadrightarrow
↑
\uparrow
↕
\updownarrow
↕
\updownarrow
↿
\upharpoonleft
↾
\upharpoonright
⇈
\upuparrows
Verschiedene Symbole
$
\$
EIN
\AA
Ⅎ
\Finv
⅁
\Game
ℑ
\Im
¶
\P
ℜ
\Re
§
\S
∠
\angle
‵
\backprime
★
\bigstar
■
\blacksquare
▴
\blacktriangle
▾
\blacktriangledown
⋯
\cdots
✓
\checkmark
®
\circledR
Ⓢ
\circledS
♣
\clubsuit
∁
\complement
©
\copyright
⋱
\ddots
♢
\diamondsuit
ℓ
\ell
∅
\emptyset
d
\eth
∃
\exists
♭
\flat
∀
\forall
h
\hbar
♡
\heartsuit
ℏ
\hslash
∭
\iiint
∬
\iint
ich
\imath
∞
\infty
ȷ
\jmath
…
\ldots
∡
\measuredangle
♮
\natural
¬
\neg
∄
\nexists
∰
\oiiint
∂
\partial
'
\prime
♯
\sharp
♠
\spadesuit
∢
\sphericalangle
ß
\ss
▿
\triangledown
∅
\varnothing
▵
\vartriangle
⋮
\vdots
℘
\wp
¥
\yen
Wenn ein bestimmtes Symbol keinen Namen hat (wie es bei vielen der obskureren Symbole in den STIX-Schriftarten der Fall ist), können auch Unicode-Zeichen verwendet werden:
r'$\u23ce$'
Beispiel #
Hier ist ein Beispiel, das viele dieser Funktionen im Kontext veranschaulicht.