Pythonとmatplotlibで反比例のグラフのアニメーションを作ってみた

 分数関数について考えていたときに,ふと,反比例の式 y = \frac{k}{x}k \neq 0 )の k を動かしたら,反比例への理解が深まる人もいるだろうと思い,Pythonとmatplotlibでアニメーションを作ってみることにしました.

 できたものがこちら.

  

  

  

 ここからはコードの紹介です.

 以前ニュートン法の過程をアニメーション化したときとは異なり,今回はFuncAnimationを使いました.タイトルを変化させたかったためです.

 

↓ニュートン法の過程をアニメーションにした記事↓

  

   

  今回のコードがこちら.

 

import matplotlib.pyplot as plt
from matplotlib import animation
import numpy as np

fig = plt.figure(figsize=(5,5))
artists = []
x1 = np.arange(0.05, 10.05, 0.01)
x2 = np.arange(-10.05, -0.05, 0.01)
asymptote_num = np.arange(-15, 16, 5)
asymptote_zero = np.zeros(7)

def plot_inv_prop(k):
    plt.clf() # 描画内容と設定を全て消去
    plt.title('inverse proportion y = {} / x '.format(k))
    plt.xlim(-10,10) # x軸方向の描画範囲の指定
    plt.ylim(-10,10) # y軸方向の描画範囲の指定
    # 双曲線の描画 
    y1 = k / x1
    y2 = k / x2
    img = plt.plot(x1, y1, color='blue')
    plt.plot(x2, y2, color='blue')
    # 漸近線の描画
    plt.plot(asymptote_num, asymptote_zero, color='black', linestyle="dashed", linewidth=1)
    plt.plot(asymptote_zero, asymptote_num, color='black', linestyle="dashed", linewidth=1)


ani = animation.FuncAnimation(fig, plot_inv_prop, frames=range(10,0,-1), interval=1000)
# plt.show()
ani.save('hanpirei.gif')

 

 おしまい.

 

   

勝手気ままに高校数学シリーズ一覧へ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA