Python 2.7 多点动画
我正在做一个项目,我想把我的一些结果制作成动画。对于我的项目,有很多计算,但有一个参数,我想改变 我编写了一些模拟代码来说明我的问题:Python 2.7 多点动画,python-2.7,animation,matplotlib,Python 2.7,Animation,Matplotlib,我正在做一个项目,我想把我的一些结果制作成动画。对于我的项目,有很多计算,但有一个参数,我想改变 我编写了一些模拟代码来说明我的问题: import matplotlib.pyplot as plt import numpy as np alpha = np.linspace(1, 10, 50) x = np.linspace(0, 10, 100) y = x * x for i in range(len(alpha)): plt.plot(x, alpha[i] * y)
import matplotlib.pyplot as plt
import numpy as np
alpha = np.linspace(1, 10, 50)
x = np.linspace(0, 10, 100)
y = x * x
for i in range(len(alpha)):
plt.plot(x, alpha[i] * y)
plt.title("Alpha = " + str(alpha[i]))
plt.xlim(0, 10)
plt.ylim(1, 100)
plt.savefig("./animation_test/" + str(i) + "_Alpha=" + str(alpha[i]) + ".png")
plt.close()
这就给我留下了一个名为animation_test的文件夹,里面有我的图片。现在我只是想在我的bash终端上运行一些东西,比如
$convert -delay 50 * test.gif
制作一个简单的小动画gif,但我的终端中的顺序有点滑稽
0_Alpha=1.0.png
10_Alpha=2.83673469388.png
11_Alpha=3.02040816327.png
.
.
.
19_Alpha=4.48979591837.png
1_Alpha=1.18367346939.png
20_Alpha=4.67346938776.png
21_Alpha=4.85714285714.png
.
.
.
现在在我的Finder中,它们按正确的顺序列出。有没有更好的方法来标记这些文件,或者甚至有更好的方法来整体制作动画?最终的产品不一定是.gif,我可以玩它。您有两种解决方案:
- 1-file.ext
- 2-file.ext
- 99-file.ext
- 01-file.ext
- 02-file.ext
- 99-file.ext
听起来你只需要像
filename=“/path/{:02}{u Alpha={:0.3f}.png”这样的格式(i,Alpha[i])
,这样你的文件名将是00_Alpha…
,01_Alpha…
,02_Alpha…
,等等,并将正确排序。(另外,如果你有100多个步骤,你可以使用“{:03}”
而不是“{:02}”
)或者,你可以使用matplotlib的动画模块直接输出gif或视频。+1@JoeKington关于使用动画模块的说法。不要重新发明轮子;)