Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 多点动画_Python 2.7_Animation_Matplotlib - Fatal编程技术网

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关于使用动画模块的说法。不要重新发明轮子;)