Noter
Cliquez ici pour télécharger l'exemple de code complet
É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$'
Pour afficher correctement les indices ou les exposants multi-lettres, vous devez les mettre entre accolades {...}
:
r'$\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$'
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
Les fractions peuvent être imbriquées arbitrairement :
r'$\frac{5 - \frac{1}{x}}{4}$'
produit
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})$'
La solution est de faire précéder le crochet avec \left
et \right
d'informer l'analyseur que ces crochets englobent l'objet entier. :
r'$\left(\frac{5 - \frac{1}{x}}{4}\right)$'
Radicaux #
Les radicaux peuvent être produits avec la \sqrt[]{}
commande. Par exemple:
r'$\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}$'
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)$'
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)$'
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 A
est é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)'
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.fontset
paramè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 a
ou\'a
\bar a
\breve a
\dot a
ou\.a
\ddot a
ou\''a
\dddot a
\ddddot a
\grave a
ou\`a
\hat a
ou\^a
\tilde a
ou\~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 \imath
est utilisé pour éviter le point supplémentaire sur le i :
r"$\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
ré
\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.