数式を書く​​#

TeX マークアップのサブセットをドル記号 ($) のペア内に配置することで、任意の Matplotlib テキスト文字列で使用できます。

Matplotlib には独自の TeX 式パーサー、レイアウト エンジン、およびフォントが付属しているため、TeX をインストールする必要はありません。レイアウト エンジンは、Donald Knuth の TeX のレイアウト アルゴリズムをかなり直接的に適応させたものであるため、品質は非常に優れています (Matplotlib は、usetex TeX を呼び出してテキストを生成したい人向けのオプション も提供します。LaTeX を使用したテキストのレンダリングを参照してください) 。 .

すべてのテキスト要素で数式テキストを使用できます。TeX のように、未加工の文字列 (引用符の前に ) を使用し'r'、数学テキストをドル記号 ($) で囲む必要があります。通常のテキストと数学テキストは、同じ文字列内でインターリーブできます。Mathtext では、DejaVu Sans (デフォルト)、DejaVu Serif、Computer Modern フォント ((La)TeX から)、STIXフォント (Times とうまく調和するように設計されています)、またはユーザーが提供する Unicode フォントを使用できます。rcParams["mathtext.fontset"]mathtext フォントは(デフォルト: 'dejavusans') で選択できます(スタイル シートと rcParams を使用した Matplotlib のカスタマイズを参照) 。

簡単な例を次に示します。

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

「アルファ > ベータ」を生成します。

これに対して:

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

" " を生成し ます。

ノート

Mathtext は、一対のドル記号 ($) の間に配置する必要があります。"$100.00" などの金額を簡単に表示できるようにするために、文字列全体に 1 つのドル記号が存在する場合は、そのままドル記号として表示されます。これは、数学以外のテキストのドル記号をエスケープする必要がある通常の TeX からの小さな変更です ('\$')。

ノート

ドル記号 ($) のペア内の構文は TeX のようなものを目指していますが、外側のテキストはそうではありません。特に、次のような文字:

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

TeX の数学モード以外では特別な意味があります。rcParams["text.usetex"]したがって、これらの文字は(デフォルト: )に応じて異なる動作をしますFalse。詳細については、 usetex チュートリアルを参照してください。

下付き文字と上付き文字#

下付き文字と上付き文字を作成するには、記号'_''^'記号を使用します。

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

複数文字の下付き文字または上付き文字を正しく表示するには、中括弧で囲む必要があります{...}

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

一部の記号は、下付き/上付き文字を演算子の下と上に自動的に配置します。たとえば、からまで の合計を書き込むには、次のようにします。

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

分数、二項式、積み上げ数#

分数、二項式、積み上げ数は、それぞれ 、 コマンド、およびコマンドで\frac{}{}作成\binom{}{}できます 。\genfrac{}{}{}{}{}{}

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

生産する

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

分数は任意に入れ子にすることができます:

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

生産する

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

分数の周りに括弧と括弧を配置するには、特別な注意が必要であることに注意してください。明らかな方法で物事を行うと、小さすぎるブラケットが生成されます。

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

解決策は、ブラケットの前に を付け、これらの\leftブラケット\rightがオブジェクト全体を包含することをパーサーに通知することです。

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

ラジカル#

コマンドでラジカルを生成できます\sqrt[]{}。例えば:

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

任意のベースを (オプションで) 角括弧内に指定できます。ベースは単純な式でなければならず、分数や下付き/上付き文字などのレイアウト コマンドを含めることはできません。

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

フォント#

デフォルトのフォントは、数学記号の斜体です。

ノート

rcParams["mathtext.default"]このデフォルトは(デフォルト: )を使用して変更できます'it'。これは、たとえば、数学テキストに通常の非数学テキストと同じフォントを使用するには、 に設定することで便利ですregular

フォントを変更するには、たとえば "sin" をローマン フォントで書くには、フォント コマンドでテキストを囲みます。

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

さらに便利なことに、Roman フォントでタイプセットされた一般的に使用される多くの関数名にはショートカットがあります。したがって、上記の式は次のように記述できます。

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

ここで、"s" と "t" はイタリック フォント (デフォルト) の変数、"sin" はローマン フォント、振幅 "A" はカリグラフィー フォントです。上記の例では、書道Aが に押しつぶされていることに注意してくださいsin。間隔コマンドを使用して、それらの間に小さな空白を追加できます。

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

すべてのフォントで利用可能な選択肢は次のとおりです。

指示

結果

\mathrm{Roman}

\mathit{Italic}

\mathtt{Typewriter}

\mathcal{CALLIGRAPHY}

STIXフォントを使用する場合は、次の選択肢もあります。

指示

結果

\mathbb{blackboard}

\mathrm{\mathbb{blackboard}}

\mathfrak{Fraktur}

\mathsf{sansserif}

\mathrm{\mathsf{sansserif}}

5 つのグローバルな "フォント セット" から選択することもできます。これらは、 matplotlibrcmathtext.fontsetのパラメーターを使用して選択されます。

dejavusans:デジャブサンズ

dejavuserif:デジャブセリフ

cm:コンピュータモダン(TeX)

stix:STIX(タイムズに溶け込むように設計)

stixsans:STIXサンセリフ

さらに、\mathdefault{...}またはそのエイリアス \mathregular{...}を使用して、数学テキスト以外の通常のテキストに使用されるフォントを使用できます。このアプローチには多くの制限があります。最も顕著なのは、使用できる記号がはるかに少ないことですが、数式をプロット内の他のテキストとうまく調和させるのに役立つ場合があります。

カスタムフォント#

mathtext は、数学用のカスタム フォントを使用する方法も提供します。この方法は使用するのが非常に難しいため、患者ユーザーのみを対象とした実験的な機能と見なす必要があります。rcParams["mathtext.fontset"](デフォルト: 'dejavusans') をに設定customすると、次のパラメータを設定できます。これらのパラメータは、特定の数学文字セットに使用するフォント ファイルを制御します。

パラメータ

に対応

mathtext.it

\mathit{}またはデフォルトの斜体

mathtext.rm

\mathrm{}ローマン (直立)

mathtext.tt

\mathtt{}タイプライター (モノスペース)

mathtext.bf

\mathbf{}ボールドイタリック

mathtext.cal

\mathcal{}書道

mathtext.sf

\mathsf{}サンセリフ

各パラメーターは、fontconfig フォント記述子 (まだ書かれていないフォントの章で定義されているように) に設定する必要があります。

使用するフォントには、ギリシャ語などの非ラテン文字を検出するための Unicode マッピングが必要です。カスタム フォントに含まれていない数学記号を使用する場合は、 rcParams["mathtext.fallback"](デフォルト: 'cm') をまたは'cm'に設定できます。 これにより、特定の文字が見つからない場合に数学テキスト システムが代替フォントの文字を使用するようになります。カスタムフォント。'stix''stixsans'

Unicode で指定された数学グリフは時間の経過とともに進化しており、多くのフォントでは数学テキストの正しい場所にグリフがない場合があることに注意してください。

アクセント#

アクセント コマンドは、シンボルの上にアクセントを追加するためにシンボルの前に置くことができます。それらのいくつかには、長い形式と短い形式があります。

指示

結果

\acute aまた\'a

\bar a

\breve a

\dot aまた\.a

\ddot aまた\''a

\dddot a

\ddddot a

\grave aまた\`a

\hat aまた\^a

\tilde aまた\~a

\vec a

\overline{abc}

さらに、以下のシンボルの幅に自動的に調整される 2 つの特別なアクセントがあります。

指示

結果

\widehat{xyz}

\widetilde{xyz}

小文字の i と j にアクセントを付けるときは注意が必要です。\imath以下では、i の上の余分なドットを避けるために使用されていることに注意してください。

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

記号#

、 、、のように\infty、 多数の TeX 記号を使用することもできます。\leftarrow\sum\int

小文字のギリシャ語

α\alpha

β\beta

χ\chi

δ\delta

ϝ\digamma

ε\epsilon

η\eta

γ\gamma

ι\iota

κ\kappa

λ\lambda

μ\mu

ν\nu

ω\omega

φ\phi

π\pi

ψ\psi

ρ\rho

σ\sigma

τ\tau

θ\theta

υ\upsilon

ε\varepsilon

イー\varkappa

φ\varphi

ϖ\varpi

ϱ\varrho

特記事項\varsigma

θ\vartheta

ξ\xi

ゼータ\zeta

大文字のギリシャ語

\Delta

Γ\Gamma

Λ\Lambda

Ω\Omega

Φ\Phi

Π\Pi

Ψ\Psi

Σ\Sigma

Θ\Theta

Υ\Upsilon

Ξ\Xi

\mho

\nabla

ヘブライ語

\aleph

\beth

\daleth

\gimel

区切り記号

//

[[

\Downarrow

\Uparrow

\Vert

\\backslash

\downarrow

\langle

\lceil

\lfloor

\llcorner

\lrcorner

\rangle

\rceil

\rfloor

\ulcorner

\uparrow

\urcorner

| |\vert

{\{

| |\|

}\}

]]

| ||

大きなシンボル

\bigcap

\bigcup

\bigodot

\bigoplus

\bigotimes

\biguplus

\bigvee

\bigwedge

\coprod

\int

\oint

\prod

\sum

標準関数名

広報\Pr

アークコス\arccos

アークサイン\arcsin

アークタン\arctan

引数\arg

コス\cos

コッシュ\cosh

ベビーベッド\cot

コス\coth

csc\csc

\deg

詳細\det

薄暗い\dim

指数\exp

gcd\gcd

ホム\hom

\inf

カー\ker

lg\lg

リム\lim

限界\liminf

リムサップ\limsup

\ln

ログ\log

最大\max

\min

\sec

\sin

シン\sinh

すする\sup

日焼け\tan

タン\tanh

二項演算と関係記号

\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

矢印記号

\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

その他の記号

$\$

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

\imath

\infty

かく\jmath

\ldots

\measuredangle

\natural

¬\neg

\nexists

\oiiint

\partial

\prime

\sharp

\spadesuit

\sphericalangle

ß\ss

\triangledown

\varnothing

\vartriangle

\vdots

\wp

¥\yen

特定のシンボルに名前がない場合 (STIX フォントのあいまいなシンボルの多くがそうであるように)、Unicode 文字も使用できます。

r'$\u23ce$'

#

これらの機能の多くをコンテキストで示す例を次に示します。

../../_images/sphx_glr_pyplot_mathtext_001.png

Sphinx-Gallery によって生成されたギャラリー