多画面动画

时间:2014-03-31 19:10:25

标签: 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)
    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 个答案:

答案 0 :(得分:0)

您有两种解决方案:

  1. 使用人类排序
  2. 为您的数字添加零,以便拥有固定的位数。 例如,如果您有以下标签:

    • 1-file.ext
    • 2- file.ext ...
    • 99-file.ext

    你希望有类似的东西:

    • 01-file.ext
    • 02-file.ext ...
    • 99-file.ext