LaTeXをラベルやタイトルに使う【matplotlib】

数式の表現に便利なLaTeXをmatplotlibで使う方法を紹介します。
matplotlibでLaTeXを使うのに難しい設定などは必要なく、すぐにでも使うことができます。

LaTeXをmatplotlibに使ってみる

matplotlibでLaTeXを使うには以下のような書式で書く必要があります。

r'$latexコード$' 例 r’$\sum_{i=0}^n x_i$’

$$はLaTeXであることを示しています。rを付ける理由は後述していますのでご覧ください。

それでは実際に表示させてみましょう。

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-4,4,0.01)
y = np.exp(x)/np.cosh(x)

plt.title(r'$\frac{e^x}{\coshx}$')
plt.plot(x,y)
plt.show()
タイトルにLaTexを使用したグラフ

なぜLaTeXを含む文字列の先頭にrを付けるのか?

LaTeXではコマンドを使う際に \ を使いますが、Pythonでは \ をエスケープシーケンスと認識されてしまいます。(エスケープシーケンスとは改行などの特殊文字)

つまりLaTeXをつまく機能させるにはエスケープシーケンスが邪魔なわけです。

そこでraw文字列というものを使用します。
raw文字列は文字列の先頭にrをつけたものであり、エスケープシーケンスを無視することができるのです。

まとめるとLaTeXで文字列の先頭にrを付けるのはエスケープシーケンスとして認識させないため
ということでした。

コメント