我应该如何在python matplotlib中制作动画粒子?

时间:2015-01-07 13:19:14

标签: python animation matplotlib simulation gas

对于我的作业,我被指示编写一个模拟容器内气体颗粒的脚本。

现在我已完成数学部分,到目前为止它的工作原理如下:

1)输入包含位置坐标和运动矢量的初始列表 2)然后创建一个转换后的列表,包括所有x坐标和y坐标,每个坐标位于一个单独的子列表中,供以后绘图 3)然后运行我编写的一系列函数,在间隔之后更新列表中的位置和向量 4)再次转换列表 5)等等

但是我根本无法找到如何动画这些?

我想我需要类似的东西:

1)绘制一个圆圈用作容器+初始粒子/位置 2)保持圈子并更新列表 3)绘制圆圈和更新列表 4)依此类推,速度非常快

1 个答案:

答案 0 :(得分:4)

这是一个简单的例子:

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

fig, ax = plt.subplots()
points, = ax.plot(np.random.rand(10), 'o')
ax.set_ylim(0, 1)

def update(data):
    points.set_ydata(data)
    return points,

def generate_points():
    while True:
        yield np.random.rand(10)  # change this

ani = animation.FuncAnimation(fig, update, generate_points, interval=300)
ani.save('animation.gif', writer='imagemagick', fps=4);
plt.show()

enter image description here