20160519

LaTeXで書いた部分が動画になっている

タグ:動画 String LaTeX
sinのn乗すると、鋭くなるって、Broken axisを描いていて思った。
だから、ちょっとづつ条件を変えていって、動画にしてやろうという、いつもの作戦。

これと、

これを作った。

import matplotlib.pyplot as plt
import numpy as np

plt.rc('text', usetex=True)
plt.rcParams['text.latex.preamble'] = '\usepackage{sfmath}'

theta1 = np.linspace(0,np.pi+0.1,2001)
theta2 = np.linspace(0,2*np.pi,2001)

x1 = theta1 / np.pi
x2 = theta2 / np.pi


#for n in np.logspace(-1,4,24):
for n in np.logspace(-4,10,50):
y1 = np.sin(theta1)**n
y2 = np.sin(theta2)
f, (ax1, ax2) = plt.subplots(2, 1, sharex=True)
ax1.plot(x1, y1)
ax2.plot(x2, y2, alpha=0.5)
ax2.tick_params(labelbottom='off')
ax2.tick_params(labeltop='on')
ax1.set_ylim(-1, 1)
ax1.text(1.5, 0, r"$sin^{"+str(n)+r"}(\theta )$"+"\n"+r"$[0 \, \leq \, \theta \, \leq \, \pi]$")
#ax2.text(1.5, 0, r"$a^{"+str(n)+r"}$")
ax2.text(1.5, 0, r"$sin(\theta)$")
label = [r"$0$", r"$\frac{1}{2}\pi$", r"$\pi$", r"$\frac{3}{2}\pi$", r"$2\pi$"]
ax2.set_xticklabels(label, x=ax2.get_xticks())
f.tight_layout()
f.set_size_inches(7.2,4.05)
f.savefig("subplot"+"%014.f"%(n*10000)+".png", dpi=266, facecolor='w', edgecolor='w',
orientation='portrait', papertype=None, format=None,
transparent=False, bbox_inches=None, pad_inches=0.1,
frameon=None)

plt.clf()


すごいすごいと思って見てたけど、重要なのはそこじゃなくて、

LaTeXで書いた部分が動画になっている。
数字が動いている。

これを見て、重要な部分だけを抜き出すと、下の様になる。

import matplotlib.pyplot as plt
import numpy as np

for n in np.linspace(0,100,101):
f = plt.figure()
plt.text(0.35, 0.35, r"$a^{"+str(int(n))+r"}$",fontsize=77)
f.savefig("%03.f"%(n)+".png", facecolor='w', edgecolor='w',
orientation='portrait', papertype=None, format=None,
transparent=False, bbox_inches=None, pad_inches=0.1,
frameon=None)
plt.clf()


r""にするのは、エスケープシーケンスのための\を文字列として残すため。
rがないと、この\は、LaTeXに渡される前に、消えてしまう。(後ろに続く文字次第だが)

+str(int(n))+
足し算で、文字列を連結していっている。
中央のは、rがなく""でくくってすらいない。
しかしこれも文字列。
中にはいった変数を文字列に変換する関数str()を使っている。
これと、forのときに指定した変数を組み合わせれば、次々と中に入る、変化する数が用意できる。

中のint()は、整数にするために入れた。これが無いと、1.0と表示され、必要の無い.0を表示することになって嫌だったので、整数にした。integerのint。
(20160521全面修正)
疲れている状態で書いたので、読みにくかった。
若干改善されていると思う。
タグ:動画 String LaTeX
posted by yuchan at 07:00 | Comment(0) | python
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: