Écrire des expressions mathématiques #

Vous pouvez utiliser un sous-ensemble de balisage TeX dans n'importe quelle chaîne de texte Matplotlib en le plaçant à l'intérieur d'une paire de signes dollar ($).

Notez que vous n'avez pas besoin d'installer TeX, car Matplotlib fournit son propre analyseur d'expressions TeX, son moteur de mise en page et ses polices. Le moteur de mise en page est une adaptation assez directe des algorithmes de mise en page dans TeX de Donald Knuth, donc la qualité est assez bonne (Matplotlib fournit également une usetex option pour ceux qui veulent appeler TeX pour générer leur texte ; voir Rendu de texte avec LaTeX ) .

Tout élément de texte peut utiliser du texte mathématique. Vous devez utiliser des chaînes brutes (précéder les guillemets d'un 'r') et entourer le texte mathématique de signes dollar ($), comme dans TeX. Le texte normal et le texte mathématique peuvent être entrelacés dans la même chaîne. Mathtext peut utiliser DejaVu Sans (par défaut), DejaVu Serif, les polices Computer Modern (de (La)TeX), les polices STIX (qui sont conçues pour bien se fondre avec Times) ou une police Unicode que vous fournissez. La police mathtext peut être sélectionnée via rcParams["mathtext.fontset"](par défaut : 'dejavusans') (voir Personnalisation de Matplotlib avec des feuilles de style et rcParams )

Voici un exemple simple :

# plain text
plt.title('alpha > beta')

produit "alpha > beta".

Alors que ceci :

# math text
plt.title(r'$\alpha > \beta$')

produit " ".

Noter

Mathtext doit être placé entre une paire de signes dollar ($). Pour faciliter l'affichage des valeurs monétaires, par exemple "100,00 $", si un seul signe dollar est présent dans toute la chaîne, il sera affiché textuellement sous la forme d'un signe dollar. C'est un petit changement par rapport à TeX normal, où le signe dollar dans le texte non mathématique devrait être échappé ('\$').

Noter

Alors que la syntaxe à l'intérieur de la paire de signes dollar ($) vise à ressembler à TeX, le texte à l'extérieur ne le fait pas. En particulier, des personnages tels que :

# $ % & ~ _ ^ \ { } \( \) \[ \]

ont une signification particulière en dehors du mode mathématique dans TeX. Par conséquent, ces caractères se comporteront différemment selon rcParams["text.usetex"](par défaut : False). Voir le tutoriel usetex pour plus d'informations.

Indices et exposants #

Pour faire des indices et des exposants, utilisez les symboles '_'et :'^'

r'$\alpha_i > \beta_i$'
\[\alpha_i > \beta_i\]

Pour afficher correctement les indices ou les exposants multi-lettres, vous devez les mettre entre accolades {...}:

r'$\alpha^{ic} > \beta_{ic}$'
\[\alpha^{ic} > \beta_{ic}\]

Certains symboles placent automatiquement leurs sous/exposants sous et au-dessus de l'opérateur. Par exemple, pour écrire la somme de de à , vous pourriez faire :

r'$\sum_{i=0}^\infty x_i$'
\[\sum_{i=0}^\infty x_i\]

Fractions, binômes et nombres empilés #

Les fractions, les binômes et les nombres empilés peuvent être créés respectivement avec les commandes \frac{}{}, \binom{}{}et \genfrac{}{}{}{}{}{}:

r'$\frac{3}{4} \binom{3}{4} \genfrac{}{}{0}{}{3}{4}$'

produit

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

Les fractions peuvent être imbriquées arbitrairement :

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

produit

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

Notez que des précautions particulières doivent être prises pour placer des parenthèses et des crochets autour des fractions. Faire les choses de manière évidente produit des parenthèses trop petites :

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

La solution est de faire précéder le crochet avec \leftet \rightd'informer l'analyseur que ces crochets englobent l'objet entier. :

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

Radicaux #

Les radicaux peuvent être produits avec la \sqrt[]{}commande. Par exemple:

r'$\sqrt{2}$'
\[\sqrt{2}\]

Toute base peut (facultativement) être fournie entre crochets. Notez que la base doit être une expression simple et ne peut pas contenir de commandes de mise en page telles que des fractions ou des sous/exposants :

r'$\sqrt[3]{x}$'
\[\sqrt[3]{x}\]

Polices #

La police par défaut est en italique pour les symboles mathématiques.

Noter

Cette valeur par défaut peut être modifiée à l'aide de rcParams["mathtext.default"](par défaut : 'it'). Ceci est utile, par exemple, pour utiliser la même police que le texte normal non mathématique pour le texte mathématique, en le définissant sur regular.

Pour changer les polices, par exemple, pour écrire "sin" dans une police romaine, encadrez le texte dans une commande de police :

r'$s(t) = \mathcal{A}\mathrm{sin}(2 \omega t)$'
\[s(t) = \mathcal{A}\mathrm{sin}(2 \omega t)\]

Plus commodément, de nombreux noms de fonctions couramment utilisés qui sont composés dans une police romaine ont des raccourcis. Ainsi, l'expression ci-dessus pourrait s'écrire comme suit :

r'$s(t) = \mathcal{A}\sin(2 \omega t)$'
\[s(t) = \mathcal{A}\sin(2 \omega t)\]

Ici "s" et "t" sont variables en police italique (par défaut), "sin" est en police romaine et l'amplitude "A" est en police calligraphique. Notez que dans l'exemple ci-dessus, la calligraphie Aest écrasée dans le sin. Vous pouvez utiliser une commande d'espacement pour ajouter un petit espace blanc entre eux :

r's(t) = \mathcal{A}\/\sin(2 \omega t)'
\[s(t) = \mathcal{A}\,\sin(2 \omega t)\]

Les choix disponibles avec toutes les polices sont :

Commande

Résultat

\mathrm{Roman}

\mathit{Italic}

\mathtt{Typewriter}

\mathcal{CALLIGRAPHY}

Lors de l'utilisation des polices STIX , vous avez également le choix entre :

Commande

Résultat

\mathbb{blackboard}

\mathrm{\mathbb{blackboard}}

\mathfrak{Fraktur}

\mathsf{sansserif}

\mathrm{\mathsf{sansserif}}

Il existe également cinq "jeux de polices" globaux parmi lesquels choisir, qui sont sélectionnés à l'aide du mathtext.fontsetparamètre dans matplotlibrc .

dejavusans: Déjà-Vu Sans

dejavuserif: Serif Déjà-Vu

cm: Informatique Moderne (TeX)

stix: STIX (conçu pour bien se fondre avec Times)

stixsans: STIX sans empattement

De plus, vous pouvez utiliser \mathdefault{...}ou son alias \mathregular{...}pour utiliser la police utilisée pour le texte normal en dehors de mathtext. Il existe un certain nombre de limites à cette approche, notamment le fait que beaucoup moins de symboles seront disponibles, mais il peut être utile de faire en sorte que les expressions mathématiques se fondent bien avec d'autres textes dans le tracé.

Polices personnalisées #

mathtext fournit également un moyen d'utiliser des polices personnalisées pour les mathématiques. Cette méthode est assez délicate à utiliser et doit être considérée comme une fonctionnalité expérimentale réservée aux patients utilisateurs. En réglant rcParams["mathtext.fontset"](par défaut : 'dejavusans') sur custom, vous pouvez ensuite définir les paramètres suivants, qui contrôlent le fichier de police à utiliser pour un ensemble particulier de caractères mathématiques.

Paramètre

Correspond à

mathtext.it

\mathit{}ou italique par défaut

mathtext.rm

\mathrm{}Romain (debout)

mathtext.tt

\mathtt{}Machine à écrire (monospace)

mathtext.bf

\mathbf{}gras italique

mathtext.cal

\mathcal{}calligraphique

mathtext.sf

\mathsf{}sans empattement

Chaque paramètre doit être défini sur un descripteur de police fontconfig (tel que défini dans le chapitre sur les polices qui reste à écrire).

Les polices utilisées doivent avoir un mappage Unicode afin de trouver tous les caractères non latins, tels que le grec. Si vous souhaitez utiliser un symbole mathématique qui n'est pas contenu dans vos polices personnalisées, vous pouvez définir rcParams["mathtext.fallback"](par défaut : 'cm') soit 'cm', 'stix'soit , 'stixsans' ce qui obligera le système mathtext à utiliser des caractères d'une police alternative chaque fois qu'un caractère particulier ne peut pas être trouvé dans la police personnalisée.

Notez que les glyphes mathématiques spécifiés dans Unicode ont évolué au fil du temps et que de nombreuses polices peuvent ne pas avoir de glyphes au bon endroit pour le texte mathématique.

Accent #

Une commande d'accent peut précéder n'importe quel symbole pour ajouter un accent au-dessus. Il existe des formulaires longs et courts pour certains d'entre eux.

Commande

Résultat

\acute aou\'a

\bar a

\breve a

\dot aou\.a

\ddot aou\''a

\dddot a

\ddddot a

\grave aou\`a

\hat aou\^a

\tilde aou\~a

\vec a

\overline{abc}

De plus, il existe deux accents spéciaux qui s'adaptent automatiquement à la largeur des symboles ci-dessous :

Commande

Résultat

\widehat{xyz}

\widetilde{xyz}

Des précautions doivent être prises lorsque vous mettez des accents sur les i et les j minuscules. Notez que dans ce qui suit \imathest utilisé pour éviter le point supplémentaire sur le i :

r"$\hat i\ \ \hat \imath$"
\[\hat i\ \ \hat \imath\]

Symboles #

Vous pouvez également utiliser un grand nombre de symboles TeX, comme dans \infty, \leftarrow, \sum, \int.

Grec minuscule

α\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

Grec majuscule

Δ\Delta

Γ\Gamma

Λ\Lambda

Ω\Omega

Φ\Phi

Π\Pi

Ψ\Psi

Σ\Sigma

Θ\Theta

Υ\Upsilon

Ξ\Xi

\mho

\nabla

hébreu

\aleph

\beth

\daleth

\gimel

Délimiteurs

//

[[

\Downarrow

\Uparrow

\Vert

\\backslash

\downarrow

\langle

\lceil

\lfloor

\llcorner

\lrcorner

\rangle

\rceil

\rfloor

\ulcorner

\uparrow

\urcorner

|\vert

{\{

|\|

}\}

]]

||

Grands symboles

\bigcap

\bigcup

\bigodot

\bigoplus

\bigotimes

\biguplus

\bigvee

\bigwedge

\coprod

\int

\oint

\prod

\sum

Noms de fonction standard

Pr\Pr

arccos\arccos

arcsin\arcsin

arctan\arctan

argument\arg

parce que\cos

matraque\cosh

lit bébé\cot

coth\coth

SCC\csc

degré\deg

dét\det

faible\dim

exp\exp

pgcd\gcd

hom\hom

inf\inf

ker\ker

lg\lg

lim\lim

limite\liminf

limsup\limsup

dans\ln

Journal\log

maximum\max

min\min

seconde\sec

péché\sin

péché\sinh

souper\sup

bronzer\tan

tanh\tanh

Opération binaire et symboles de relation

\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

Symboles fléchés

\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

Symboles divers

$\$

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

\eth

\exists

\flat

\forall

ħ\hbar

\heartsuit

\hslash

\iiint

\iint

je\imath

\infty

ȷ\jmath

\ldots

\measuredangle

\natural

¬\neg

\nexists

\oiiint

\partial

\prime

\sharp

\spadesuit

\sphericalangle

ß\ss

\triangledown

\varnothing

\vartriangle

\vdots

\wp

¥\yen

Si un symbole particulier n'a pas de nom (comme c'est le cas de nombreux symboles plus obscurs dans les polices STIX), les caractères Unicode peuvent également être utilisés :

r'$\u23ce$'

Exemple #

Voici un exemple illustrant bon nombre de ces fonctionnalités dans leur contexte.

../../_images/sphx_glr_pyplot_mathtext_001.png

Galerie générée par Sphinx-Gallery