最近需要绘制会动的椭圆,去可视化一些结果。在实现的过程中遇到了一些问题,记录一下自己的实现方法
实现结果
animation
我们知道matplotlib提供一个animation的子包来实现绘制动态图像。
在绘制动态图像时主要有两种方法:
第一种
对于line这种曲线类,pyplot本事可以直接调用ax.line()方法进行绘制。然后利用line.set_data()方法传入每帧图片的坐标点,实现坐标更新。
下面是一个matplotlib官方文档实例
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import matplotlib
matplotlib.rcParams['axes.unicode_minus']=False
fig, ax = plt.subplots()
x = np.arange(0, 2*np.pi, 0.01)
line, = ax.plot(x, np.sin(x))
def init(): # only required for blitting to give a clean slate.
line.set_ydata([np.nan] * len(x))
return line,
def animate(i):
line.set_ydata(np.sin(x + i / 100)) # update the data.
return line,
ani = animation.FuncAnimation(
fig, animate, init_func=init, interval=2, blit=True, save_count=50)
plt.show()
第二种
对于曲线之外的其他复杂图形类的动态图像实现。
- 首先我们需要了