ドキュメントは、FuncAnimationの使用方法の説明について少し説明しています。ただし、ギャラリーには例
があります。 JakeVanderplas's
などのブログチュートリアル および
Jake Vanderplasのチュートリアルのこの例は、おそらくmatplotlibアニメーションの「HelloWorld」です。
from __future__ import division
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
def init():
return [line]
def animate(i, ax, line):
x = np.linspace(0, 2*np.pi, N) + i/(N*2)
ax.set_xlim(x.min(), x.max())
line.set_data(x, np.sin(x))
return [line]
N = 100
fig, ax = plt.subplots()
line, = ax.plot([], [])
ax.set_xlim(0, 2*np.pi)
ax.set_ylim(-1, 1)
ani = animation.FuncAnimation(
fig, animate, init_func=init, interval=0, frames=int(4*np.pi*N),
repeat=True, blit=True, fargs=[ax, line])
plt.show()
さまざまな値またはコード行を変更して、何が起こるかを確認します。 return [line]
を変更するとどうなるか見てみましょう 他の何かに。これらの例を研究して試してみると、これらの要素がどのように組み合わされているかを学ぶことができます。
この例を理解すると、目標に合わせて変更できるようになります。
問題が発生した場合は、コードを投稿して、表示されるエラーメッセージや不正行為について説明してください。
いくつかのヒント:
-
アニメーションでは
line.set_data
を呼び出す必要があるため 、Pandasのdf.plot()
は使用できないと思います 。実際、ここでPandasDataFrameが役立つかどうかはわかりません。データをリストまたはNumPy配列に吸い込み、それらをline.set
に渡す方がよい場合があります。 上記のように、パンダを巻き込むことなく。 -
データベースへの接続を開くには、一度実行する必要があります。
animate
何度も呼び出されます。したがって、conn
を定義することをお勧めします およびc
およびquery
--animate
を呼び出すたびに変化しないもの --animate
の外部 、そしてそれらを引数としてanimate
に返しますfargs
経由 パラメータ。