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$'
\[\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}$'
\[\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$'
\[\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

\[\frac{3}{4} \binom{3}{4} \genfrac{}{}{0pt}{}{3}{4}\]

Le frazioni possono essere annidate arbitrariamente:

r'$\frac{5 - \frac{1}{x}}{4}$'

produce

\[\frac{5 - \frac{1}{x}}{4}\]

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})$'
\[(\frac{5 - \frac{1}{x}}{4})\]

La soluzione è far precedere la parentesi con \lefte \rightinformare il parser che quelle parentesi racchiudono l'intero oggetto.:

r'$\left(\frac{5 - \frac{1}{x}}{4}\right)$'
\[\left(\frac{5 - \frac{1}{x}}{4}\right)\]

Radicali #

I radicali possono essere prodotti con il \sqrt[]{}comando. Per esempio:

r'$\sqrt{2}$'
\[\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}$'
\[\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)$'
\[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)$'
\[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)'
\[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.fontsetparametro 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 ao\'a

\bar a

\breve a

\dot ao\.a

\ddot ao\''a

\dddot a

\ddddot a

\grave ao\`a

\hat ao\^a

\tilde ao\~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 \imathviene utilizzato per evitare il punto in più sulla i:

r"$\hat i\ \ \hat \imath$"
\[\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.

../../_images/sphx_glr_pyplot_mathtext_001.png

Galleria generata da Sphinx-Gallery