見出し画像

フォトギャラリー用グラフ#9

no+e関係でやること溜まっているのですが、月曜日の夜は重めの仕事の後なので、フォトギャラリー画像の作成に逃げます。ご了承ください。


この企画の目的

  • 毎日投稿のバッジ獲得(365日)のため少ない労力で記事を書く

  • 「みんなのフォトギャラリー」で使える数学の画像を増やす

  • 理屈は抜きで、目で見て数学を楽しんで頂く

画像の説明

今回は三角関数のグラフの作り直しです。格子線と重要な値を、図中に書き込みました。円周率の記事で$${\cos x}$$のグラフを書き直したのが切っ掛けです。

Wikipediaを始めとして、似たような図は沢山あるので特にオリジナリティはありません。ソースコードを下に載せているので、Pythonでのグラフを描く時の参考資料くらいに思ってください

ソースコード

以下は、グラフの描画に用いたPythonのコードです。Google Collaboratory で実行しました。

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.size'] = 14 # デフォルトの文字サイズ
r = 5.0
fig, ax = plt.subplots(figsize=(1.91*r,r))
W = 10.367255756846317 # x軸の表示範囲
ax.set_xlim(-W,W)
n = 3
ax.set_xticks(np.linspace(-n*np.pi, n*np.pi, 4*n+1))
ax.set_xticklabels([r'$-3\pi$', r'$-2.5\pi$',
                    r'$-2\pi$', r'$-1.5\pi$',
                    r'$-\pi$',r'$-0.5\pi$',
                    r'$0$', 
                    r'$0.5\pi$',r'$\pi$',
                    r'$1.5\pi$', r'$2\pi$',
                    r'$2.5\pi$', r'$3\pi$'],
                   math_fontfamily='cm')
x = np.linspace(-W,W, 300)

ax.set_yticks([-1, 0, 1])
ax.set_yticklabels([r'$-1$',r'$0$', r'$1$'],
                   math_fontfamily='cm')

ax.grid( linestyle='--')

ax.set_title(r'$y=\sin x$',math_fontfamily='cm',size=24)
ax.plot(x, np.sin(x))
plt.savefig("sin.png",format="png",dpi=300)
plt.show()


y = sin x
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.size'] = 14 # デフォルトの文字サイズ
r = 5.0
fig, ax = plt.subplots(figsize=(1.91*r,r))
W = 10.367255756846317 # x軸の表示範囲
ax.set_xlim(-W,W)
n = 3
ax.set_xticks(np.linspace(-n*np.pi, n*np.pi, 4*n+1))
ax.set_xticklabels([r'$-3\pi$', r'$-2.5\pi$',
                    r'$-2\pi$', r'$-1.5\pi$',
                    r'$-\pi$',r'$-0.5\pi$',
                    r'$0$', 
                    r'$0.5\pi$',r'$\pi$',
                    r'$1.5\pi$', r'$2\pi$',
                    r'$2.5\pi$', r'$3\pi$'],
                   math_fontfamily='cm')
x = np.linspace(-W,W, 300)

ax.set_yticks([-1, 0, 1])
ax.set_yticklabels([r'$-1$',r'$0$', r'$1$'],
                   math_fontfamily='cm')

ax.grid( linestyle='--')

ax.set_title(r'$y=\cos x$',math_fontfamily='cm',size=24)
ax.plot(x, np.cos(x))
plt.savefig("cos.png",format="png",dpi=300)
plt.show()


y = cos x
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.size'] = 14 # デフォルトの文字サイズ
r = 5.0
fig, ax = plt.subplots(figsize=(1.91*r,r))
W = 10.367255756846317 # x軸の表示範囲
ax.set_xlim(-W,W)
n = 3
ax.set_xticks(np.linspace(-n*np.pi, n*np.pi, 4*n+1))
ax.set_xticklabels([r'$-3\pi$', r'$-2.5\pi$',
                    r'$-2\pi$', r'$-1.5\pi$',
                    r'$-\pi$',r'$-0.5\pi$',
                    r'$0$',
                    r'$0.5\pi$',r'$\pi$',
                    r'$1.5\pi$', r'$2\pi$',
                    r'$2.5\pi$', r'$3\pi$'],
                   math_fontfamily='cm')
x = np.linspace(-W,W, 300)

ax.set_yticks([-1, 0, 1])
ax.set_yticklabels([r'$-1$',r'$0$', r'$1$'],
                   math_fontfamily='cm')

ax.grid( linestyle='--')

ax.plot(x, np.sin(x))
ax.plot(x, np.cos(x))
plt.savefig("sin-cos.png",format="png",dpi=300)
plt.show()


sin x, cos x
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.size'] = 14 # デフォルトの文字サイズ
r = 5.0
fig, ax = plt.subplots(figsize=(1.91*r,r))
W = 10.367255756846317 # x軸の表示範囲
ax.set_xlim(-W,W)
ax.set_ylim(-W/1.91, W/1.91)
n = 3
ax.set_xticks(np.linspace(-n*np.pi, n*np.pi, 4*n+1))
ax.set_xticklabels([r'$-3\pi$', r'$-2.5\pi$',
                    r'$-2\pi$', r'$-1.5\pi$',
                    r'$-\pi$',r'$-0.5\pi$',
                    r'$0$',
                    r'$0.5\pi$',r'$\pi$',
                    r'$1.5\pi$', r'$2\pi$',
                    r'$2.5\pi$', r'$3\pi$'],
                   math_fontfamily='cm')
ax.set_yticks(np.linspace(-1.5*np.pi, 1.5*np.pi, 7))
ax.set_yticklabels([r'$-1.5\pi$',
                    r'$-\pi$',r'$-0.5\pi$',
                    r'$0$',
                    r'$0.5\pi$',r'$\pi$',
                    r'$1.5\pi$'],
                   math_fontfamily='cm')
x = np.linspace(-W,W, 300)

ax.grid( linestyle='--')

ax.set_title(r'$y=\tan x$',math_fontfamily='cm',size=24)
eps = 0.1
for n in range(-3,4):
  x = np.linspace((n-0.5)*np.pi+eps, (n+0.5)*np.pi-eps, 100)
  y = np.tan(x)
  ax.plot(x,y,color='b')

plt.savefig("tan.png",format="png",dpi=300)
plt.show()


y = tan x

この記事が気に入ったらサポートをしてみませんか?