Nota
Fare clic qui per scaricare il codice di esempio completo
Scrivere espressioni matematiche #
Puoi utilizzare un sottoinsieme del markup TeX in qualsiasi stringa di testo Matplotlib inserendolo all'interno di una coppia di simboli del dollaro ($).
Si noti che non è necessario che TeX sia installato, poiché Matplotlib fornisce il proprio parser di espressioni TeX, motore di layout e caratteri. Il motore di layout è un adattamento abbastanza diretto degli algoritmi di layout in TeX di Donald Knuth, quindi la qualità è abbastanza buona (Matplotlib fornisce anche usetex
un'opzione per coloro che vogliono chiamare TeX per generare il proprio testo; vedi
Rendering del testo con LaTeX ) .
Qualsiasi elemento di testo può utilizzare testo matematico. Dovresti usare stringhe non elaborate (precedere alle virgolette con un 'r'
) e circondare il testo matematico con i simboli del dollaro ($), come in TeX. Il testo normale e il testo matematico possono essere interfogliati all'interno della stessa stringa. Mathtext può usare DejaVu Sans (predefinito), DejaVu Serif, i caratteri Computer Modern (da (La)TeX), i caratteri STIX (che sono progettati per integrarsi bene con Times) o un carattere Unicode fornito dall'utente. Il carattere mathtext può essere selezionato tramite rcParams["mathtext.fontset"]
(default: 'dejavusans'
) (vedi
Personalizzazione di Matplotlib con fogli di stile e rcParams )
Qui c'è un semplice esempio:
# plain text
plt.title('alpha > beta')
produce "alfa > beta".
Mentre questo:
# math text
plt.title(r'$\alpha > \beta$')
produce " ".
Nota
Il testo matematico deve essere inserito tra una coppia di simboli del dollaro ($). Per semplificare la visualizzazione di valori monetari, ad esempio "$100.00", se nell'intera stringa è presente un singolo simbolo di dollaro, verrà visualizzato alla lettera come simbolo di dollaro. Questo è un piccolo cambiamento rispetto al normale TeX, dove il simbolo del dollaro nel testo non matematico dovrebbe essere sfuggito ('\$').
Nota
Mentre la sintassi all'interno della coppia di simboli del dollaro ($) vuole essere simile a TeX, il testo all'esterno no. In particolare, personaggi come:
# $ % & ~ _ ^ \ { } \( \) \[ \]
hanno un significato speciale al di fuori della modalità matematica in TeX. Pertanto, questi caratteri si comporteranno in modo diverso a seconda di rcParams["text.usetex"]
(predefinito: False
). Vedi il
tutorial usetex per maggiori informazioni.
Pedici e apici #
Per creare pedici e apici, utilizzare i simboli '_'
e :'^'
r'$\alpha_i > \beta_i$'
Per visualizzare correttamente i pedici o gli apici di più lettere, dovresti metterli tra parentesi graffe {...}
:
r'$\alpha^{ic} > \beta_{ic}$'
Alcuni simboli mettono automaticamente i loro pedice/apice sotto e sopra l'operatore. Ad esempio, per scrivere la somma di da a , potresti fare:
r'$\sum_{i=0}^\infty x_i$'
Frazioni, binomi e numeri in pila #
Frazioni, binomi e numeri impilati possono essere creati
rispettivamente con i comandi , \frac{}{}
e \binom{}{}
:\genfrac{}{}{}{}{}{}
r'$\frac{3}{4} \binom{3}{4} \genfrac{}{}{0}{}{3}{4}$'
produce
Le frazioni possono essere annidate arbitrariamente:
r'$\frac{5 - \frac{1}{x}}{4}$'
produce
Si noti che è necessario prestare particolare attenzione nel posizionare parentesi e parentesi intorno alle frazioni. Fare le cose in modo ovvio produce parentesi troppo piccole:
r'$(\frac{5 - \frac{1}{x}}{4})$'
La soluzione è far precedere la parentesi con \left
e \right
informare il parser che quelle parentesi racchiudono l'intero oggetto.:
r'$\left(\frac{5 - \frac{1}{x}}{4}\right)$'
Radicali #
I radicali possono essere prodotti con il \sqrt[]{}
comando. Per esempio:
r'$\sqrt{2}$'
Qualsiasi base può (facoltativamente) essere fornita all'interno di parentesi quadre. Si noti che la base deve essere un'espressione semplice e non può contenere comandi di layout come frazioni o pedice/apice:
r'$\sqrt[3]{x}$'
Caratteri #
Il carattere predefinito è il corsivo per i simboli matematici.
Nota
Questa impostazione predefinita può essere modificata utilizzando rcParams["mathtext.default"]
(impostazione predefinita: 'it'
). Ciò è utile, ad esempio, per utilizzare lo stesso carattere del normale testo non matematico per il testo matematico, impostandolo su regular
.
Per cambiare carattere, ad esempio per scrivere "sin" in un carattere romano, racchiudere il testo in un comando carattere:
r'$s(t) = \mathcal{A}\mathrm{sin}(2 \omega t)$'
Più convenientemente, molti nomi di funzioni comunemente usati che sono scritti in un carattere romano hanno scorciatoie. Quindi l'espressione di cui sopra potrebbe essere scritta come segue:
r'$s(t) = \mathcal{A}\sin(2 \omega t)$'
Qui "s" e "t" sono variabili in carattere corsivo (predefinito), "sin" è in carattere romano e l'ampiezza "A" è in carattere calligrafico. Nota nell'esempio sopra la calligrafia A
è schiacciata nel formato sin
. Puoi usare un comando di spaziatura per aggiungere un piccolo spazio bianco tra di loro:
r's(t) = \mathcal{A}\/\sin(2 \omega t)'
Le scelte disponibili con tutti i font sono:
Comando
Risultato
\mathrm{Roman}
\mathit{Italic}
\mathtt{Typewriter}
\mathcal{CALLIGRAPHY}
Quando si utilizzano i caratteri STIX , è inoltre possibile scegliere tra:
Comando
Risultato
\mathbb{blackboard}
\mathrm{\mathbb{blackboard}}
\mathfrak{Fraktur}
\mathsf{sansserif}
\mathrm{\mathsf{sansserif}}
Ci sono anche cinque "set di caratteri" globali tra cui scegliere, che vengono selezionati usando il mathtext.fontset
parametro in matplotlibrc .
dejavusans
: DejaVu Sans
dejavuserif
: DejaVu Serif
cm
: Computer moderno (TeX)
stix
: STIX (progettato per fondersi bene con Times)
stixsans
: STIX sans-serif
Inoltre, puoi utilizzare \mathdefault{...}
o il suo alias
\mathregular{...}
per utilizzare il carattere utilizzato per il testo normale al di fuori di mathtext. Ci sono una serie di limitazioni a questo approccio, in particolare il fatto che saranno disponibili molti meno simboli, ma può essere utile fare in modo che le espressioni matematiche si fondano bene con altro testo nella trama.
Caratteri personalizzati #
mathtext fornisce anche un modo per utilizzare caratteri personalizzati per la matematica. Questo metodo è abbastanza complicato da usare e dovrebbe essere considerato una funzionalità sperimentale solo per utenti pazienti. Impostando rcParams["mathtext.fontset"]
(predefinito: 'dejavusans'
) su custom
, è possibile impostare i seguenti parametri, che controllano quale file di font utilizzare per un particolare set di caratteri matematici.
Parametro
Corrisponde a
mathtext.it
\mathit{}
o corsivo predefinito
mathtext.rm
\mathrm{}
Romano (verticale)
mathtext.tt
\mathtt{}
Macchina da scrivere (monospazio)
mathtext.bf
\mathbf{}
Italico grassetto
mathtext.cal
\mathcal{}
calligrafico
mathtext.sf
\mathsf{}
sans-serif
Ogni parametro dovrebbe essere impostato su un descrittore di font fontconfig (come definito nel capitolo sui font ancora da scrivere).
I caratteri utilizzati dovrebbero avere una mappatura Unicode per trovare eventuali caratteri non latini, come il greco. Se vuoi usare un simbolo matematico che non è contenuto nei tuoi font personalizzati, puoi impostare
rcParams["mathtext.fallback"]
(predefinito: 'cm'
) su 'cm'
, 'stix'
o 'stixsans'
che farà sì che il sistema mathtext utilizzi i caratteri di un font alternativo ogni volta che un particolare carattere non può essere trovato in il carattere personalizzato.
Si noti che i glifi matematici specificati in Unicode si sono evoluti nel tempo e molti caratteri potrebbero non avere glifi nella posizione corretta per il testo matematico.
Accenti #
Un comando di accento può precedere qualsiasi simbolo per aggiungere un accento sopra di esso. Ci sono forme lunghe e brevi per alcuni di essi.
Comando
Risultato
\acute a
o\'a
\bar a
\breve a
\dot a
o\.a
\ddot a
o\''a
\dddot a
\ddddot a
\grave a
o\`a
\hat a
o\^a
\tilde a
o\~a
\vec a
\overline{abc}
Inoltre, ci sono due accenti speciali che si adattano automaticamente alla larghezza dei simboli sottostanti:
Comando
Risultato
\widehat{xyz}
\widetilde{xyz}
Bisogna fare attenzione quando si mettono gli accenti sulle i e le j minuscole. Si noti che nel seguito \imath
viene utilizzato per evitare il punto in più sulla i:
r"$\hat i\ \ \hat \imath$"
Simboli #
Puoi anche usare un gran numero di simboli TeX, come in \infty
,
\leftarrow
, \sum
, \int
.
Greco minuscolo
a
\alpha
beta
\beta
χ
\chi
d
\delta
ϝ
\digamma
ε
\epsilon
η
\eta
g
\gamma
ι
\iota
k
\kappa
λ
\lambda
μ
\mu
v
\nu
ω
\omega
φ
\phi
pi
\pi
ψ
\psi
ρ
\rho
σ
\sigma
t
\tau
θ
\theta
υ
\upsilon
ε
\varepsilon
ϰ
\varkappa
φ
\varphi
ϖ
\varpi
ϱ
\varrho
ς
\varsigma
ϑ
\vartheta
ξ
\xi
ζ
\zeta
Greco maiuscolo
D
\Delta
Γ
\Gamma
Λ
\Lambda
Oh
\Omega
Φ
\Phi
D
\Pi
Ψ
\Psi
Σ
\Sigma
Θ
\Theta
Υ
\Upsilon
Ξ
\Xi
℧
\mho
∇
\nabla
ebraico
ℵ
\aleph
ℶ
\beth
ℸ
\daleth
ℷ
\gimel
Delimitatori
/
/
[
[
⇓
\Downarrow
⇑
\Uparrow
‖
\Vert
\
\backslash
↓
\downarrow
⟨
\langle
⌈
\lceil
⌊
\lfloor
⌞
\llcorner
⌟
\lrcorner
⟩
\rangle
⌉
\rceil
⌋
\rfloor
⌜
\ulcorner
↑
\uparrow
⌝
\urcorner
|
\vert
{
\{
|
\|
}
\}
]
]
|
|
Grandi simboli
⋂
\bigcap
⋃
\bigcup
⨀
\bigodot
⨁
\bigoplus
⨂
\bigotimes
⨄
\biguplus
⋁
\bigvee
⋀
\bigwedge
∐
\coprod
∫
\int
∮
\oint
∏
\prod
∑
\sum
Nomi di funzioni standard
pr
\Pr
archi
\arccos
arcsin
\arcsin
arttan
\arctan
arg
\arg
cos
\cos
cosh
\cosh
culla
\cot
coth
\coth
csc
\csc
gradi
\deg
dett
\det
fioco
\dim
esp
\exp
gcd
\gcd
hom
\hom
inf
\inf
ker
\ker
LG
\lg
lim
\lim
liminf
\liminf
lisup
\limsup
ln
\ln
tronco d'albero
\log
max
\max
min
\min
sec
\sec
peccato
\sin
peccato
\sinh
sup
\sup
abbronzatura
\tan
tan
\tanh
Operazione binaria e simboli di relazione
≎
\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
Simboli freccia
⇓
\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
Simboli vari
$
\$
UN
\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
io
\imath
∞
\infty
ȷ
\jmath
…
\ldots
∡
\measuredangle
♮
\natural
¬
\neg
∄
\nexists
∰
\oiiint
∂
\partial
′
\prime
♯
\sharp
♠
\spadesuit
∢
\sphericalangle
ß
\ss
▿
\triangledown
∅
\varnothing
▵
\vartriangle
⋮
\vdots
℘
\wp
¥
\yen
Se un particolare simbolo non ha un nome (come è vero per molti dei simboli più oscuri nei caratteri STIX), è possibile utilizzare anche i caratteri Unicode:
r'$\u23ce$'
Esempio #
Ecco un esempio che illustra molte di queste caratteristiche nel contesto.