擅长:python、mysql、java
<p>检查这个简单的例子:</p>
<pre><code># -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np
data = np.loadtxt("example.txt", delimiter=",")
x = data[:,0]
y = data[:,1]
fig = plt.figure()
ax = fig.add_subplot(111)
line, = ax.plot([],[], '-')
line2, = ax.plot([],[],'--')
ax.set_xlim(np.min(x), np.max(x))
ax.set_ylim(np.min(y), np.max(y))
def animate(i,factor):
line.set_xdata(x[:i])
line.set_ydata(y[:i])
line2.set_xdata(x[:i])
line2.set_ydata(factor*y[:i])
return line,line2
K = 0.75 # any factor
ani = animation.FuncAnimation(fig, animate, frames=len(x), fargs=(K,),
interval=100, blit=True)
plt.show()
</code></pre>
<p>首先,对于数据处理建议使用NumPy,是最简单的读写数据。</p>
<p>不需要在每个动画步骤中使用“plot”函数,而是使用<code>set_xdata</code>和<code>set_ydata</code>方法来更新数据。</p>
<p>还回顾了Matplotlib文档的示例:<a href="http://matplotlib.org/1.4.1/examples/animation/" rel="noreferrer">http://matplotlib.org/1.4.1/examples/animation/</a>。</p>