|
|
matplotlib Writing mathematical expressions. |
H.Kamifuji . |
Matplotlib での数式の記述の紹介。 任意の matplotlib テキスト文字列にサブセット TeX マークアップを使用するには、ドル記号($)のペアの中に配置します。 matplotlib には独自の TeX 式パーサー、レイアウトエンジン、フォントが付属しているので、TeX をインストールする必要はありません。レイアウトエンジンは Donald Knuth の TeX のレイアウトアルゴリズムをかなり直接的に適用しているので、品質はかなり良いです( matplotlib は TeX にテキストを生成するために呼び出したい人に usetex オプションも提供しています( LaTeX でのテキストレンダリングを参照してください) )。 どのテキスト要素も数学テキストを使用できます。生の文字列(引用符の前に 'r')を使用し、TeX のように数式テキストをドル記号($)で囲む必要があります。通常のテキストと mathtext は、同じ文字列内でインターリーブすることができます。 MathtextはDejaVu Sans(デフォ>ルト)、DejaVu Serif、Computer Modern フォント((La)TeX 製)、STIX フォント( Times とよく混和するように設計されています)、またはユーザーが提供する Unicode フォントを使用できます。 mathtext フォントは、カスタマイズ変数 mathtext.fontset で選択できます(スタイルシートと rcParamsでMatplotlib をカスタマイズするを参照してください) 注意
ここに簡単な例があります:# plain text plt.title('alpha > beta')"alpha > beta" を生成します。 これとは対照的に、 # math text plt.title(r'$\alpha > \beta$') ![]() 注意
注意
# $ % & ~ _ ^ \ { } \( \) \[ \] TeX では数学モードの外で特別な意味を持ちます。 したがって、これらの文字は、rcParam text.usetex フラグによって異なる動作をします。詳細については、usetex チュートリアルを参照してください。 |
下付き文字と上付き文字を作成するには、 '_' と '^' 記号を使用します。r'$\alpha_i > \beta_i$' ![]() 記号の中には、自動的にその下位/上付き文字をオペレータの下と上に置くものがあります。 たとえば、to の合計を書くには、次のようにします。 r'$\sum_{i=0}^\infty x_i$' ![]() |
\frac{}{}, \binom{}{}, \stackrel{}{} コマンドを使用して、分数、2 項数、積み重ね数をそれぞれ作成できます。r'$\frac{3}{4} \binom{3}{4} \stackrel{3}{4}$' ![]() 分数は任意にネストできます。 r'$\frac{5 - \frac{1}{x}}{4}$' ![]() 小数点のまわりにかっことかっこを置くために特別な注意が必要であることに注意してください。 明らかなやり方では、ブラケットは小さすぎます: r'$(\frac{5 - \frac{1}{x}}{4})$' ![]() 解決策は、\left と \right をブラケットの前に付けて、それらのブラケットがオブジェクト全体を包含していることをパーサーに知らせることです。 r'$\left(\frac{5 - \frac{1}{x}}{4}\right)$' ![]() |
Radicals は \sqrt[]{} コマンドで生成できます。 例えば:r'$\sqrt{2}$' ![]() 任意のベースを角括弧の中に入れることができます(オプション)。 ベースは単純な式でなければならず、分数や下位/上付き文字などのレイアウトコマンドを含むことはできません。 r'$\sqrt[3]{x}$' ![]() |
デフォルトフォントは、数学記号のイタリック体です。 注意
フォントを変更するには、たとえば、ローマ字で「sin」と書いて、フォントコマンドでテキストを囲みます。r'$s(t) = \mathcal{A}\mathrm{sin}(2 \omega t)$' ![]() より便利には、ローマ字でタイプセットされている一般的に使用される関数名の多くにショートカットがあります。 したがって、上記の式は次のように書くことができます: r'$s(t) = \mathcal{A}\sin(2 \omega t)$' ![]() ここで "s" と "t" はイタリックフォント(デフォルト)で可変であり、 "sin" はローマ字フォントであり、振幅 "A" は書道フォントである。 上の例では、書道Aは罪の中に押し込まれています。 spacing コマンドを使用すると、間隔コマンドの間に小さな空白を追加できます。 s(t) = \mathcal{A}\/\sin(2 \omega t) ![]() すべてのフォントで使用できる選択肢は次のとおりです。
STIX フォントを使用する場合は、次のいずれかを選択することもできます。
また、matplotlibrcのmathtext.fontset パラメータを使用して選択する3つのグローバルな "フォントセット"もあります。 cm: Computer Modern (TeX) ![]() stix: STIX (designed to blend well with Times) ![]() stixsans: STIX sans-serif ![]() さらに、 \mathdefault{...} またはその別名 \mathregular{...} を使用して、mathtext 以外の通常のテキストに使用されるフォントを使用することができます。 この方法にはいくつかの制限がありますが、記号の使用可能な数がはるかに少ないことが特に重要ですが、数式をプロット内の他のテキストとうまく組み合わせることは便利です。 |
mathtext は、数式用のカスタムフォントを使用する方法も提供します。 この方法は使用するのがかなり難しく、患者の使用者にとっては実験的な特徴とみなされるべきである。 rcParam mathtext.fontsetをcustom に設定すると、特定の数式文字セットに使用するフォントファイルを制御する次のパラメータを設定できます。
各パラメータは fontconfig フォント記述子に設定する必要があります(まだ書かれていないフォントの章で定義されています)。 使用されるフォントは、ギリシャ語などの非ラテン文字を見つけるために Unicode マッピングを持つ必要があります。 カスタムフォントに含まれていない数式シンボルを使用する場合は、rcParam mathtext.fallback_to_cm をTrue に設定すると、特定の文字が見つからない場合は、mathtext システムがデフォルトの Computer Modern フォントの文字を使用します カスタムフォントで。 Unicode で指定された数学グリフは時間の経過とともに進化しており、多くのフォントでは mathtext の正しい場所にグリフがないことに注意してください。 |
アクセント・コマンドは、シンボルの前にアクセントを付加することができます。 それらのいくつかには、長い形と短い形があります。
さらに、以下の記号の幅に自動的に調整する2つの特別なアクセントがあります:
小文字の i と j にアクセントを付けるときは注意が必要です。 次の \imath は、i の余分なドットを避けるために使用されていることに注意してください。 r"$\hat i\ \ \hat \imath$" ![]() |
ここでは、これらの機能の多くを説明した例を示します。![]() Pyplot Mathtext |
Writing mathematical expressions |
|