Pythonでグラフを描く

 Pythonでグラフを描く練習です。TeXで数式を入れる方法も少しだけ勉強。題材は某メーリングリストに流れてきた問題で、実数  x に対して、 \cos{(\sin{x})} > \sin{(\cos{x})} を示せ、という問題。 -2\pi \le x \le 2\pi の範囲で描画しています。確かに不等式が成り立っているようですね。

f(x) = cos(sin x)-sin(cos x) のグラフ

 描画に使ったスクリプトは以下のとおりです。グラフを再現するのに使ってみてください。エラーが吐かれるようでしたら、エラーメッセージにしたがって、パッケージを追加するなりして対処してみてください。自分の場合は dvipng がないと言われたので、

sudo apt install -y dvipng

で追加しました。

(追記)
別の環境でこのスクリプトを動かしたところ、

! LaTeX Error: File `type1ec.sty' not found.

と言われてしまったので、パッケージを追加して対処しました。

sudo apt install -y cm-super

使用したスクリプト

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
rc('text', usetex=True)
x = np.linspace(-2*np.pi,2*np.pi,1000)
y = np.cos(np.sin(x))-np.sin(np.cos(x))
plt.ylim(0,2)
plt.xlabel(r'$x$')
plt.ylabel(r'$f(x)$')
plt.plot(x,y,'r',label=r'$f(x)=\cos{(\sin{x})}-\sin{(\cos{x})}$')
plt.legend(loc='upper right')
plt.title(r'$y = f(x) \;\;\; (-2\pi \le x \le 2\pi)$')
plt.savefig("test-2.png",dpi=300)
plt.close