Maplotlib でグラフを描く際,凡例やタイトル,軸ラベル等に $\LaTeX$ 表記を使おうと思って \
(バックスラッシュ)を書いてもうまく機能しない場合がある。(\
がエスケープシークエンスと認識されてしまうらしい。)これをなんとかしようという話。検索すればすぐわかるんだけど,備忘録として。
必要なモジュールの import
In [1]:
# NumPy も使います
import numpy as np
# Matplotlib でグラフを描きます
import matplotlib.pyplot as plt
# グラフを SVG で Notebook にインライン表示させる設定
%config InlineBackend.figure_formats = ['svg']
\
が機能しない例
\theta
が $\theta$ とならない。
In [2]:
x = np.linspace(0, 2*np.pi, 101)
key = '$\theta_0 = 0$'
plt.xlabel('$\theta$')
plt.ylabel('$\sin \theta$')
plt.title('$\sin \theta$')
plt.plot(x, np.sin(x), label = key);
plt.legend();
\
を機能させるための対策
文字列の前に r
をつけるか,\
を \\
にするか,どちらかで機能するようになる。
In [3]:
# \ のかわりに \\ を使う例
key = '$\\theta_0 = 0$'
plt.xlabel('$\\theta$')
# 文字列の前に r をつける例
plt.ylabel(r'$\sin \theta$')
plt.title(r'$\sin \theta$')
plt.plot(x, np.sin(x), label = key);
plt.legend();