简体   繁体   English

尝试在 Python 中制作 gif

[英]Trying to make a gif in Python

I'm approximating functions with Fourier Series and I would like to make, hopefully in a simple way, an animated gif of the different approximations.我正在用傅立叶级数逼近函数,我想以一种简单的方式制作不同逼近的动画 gif。 With a for and plt.savefig commands I generate the different frames for the gif but I haven't been able to animate them.使用forplt.savefig命令,我为 gif 生成了不同的帧,但我无法为它们设置动画。 The idea is to obtain something like this这个想法是获得这样的东西图片

This can be done using matplotlib.animation .这可以使用matplotlib.animation来完成。

EDIT编辑

I'm going to show you how to plot even powers of x like x^2 , x^4 and so on.我将向您展示如何绘制 x 的偶次幂,例如x^2x^4等。 take a look at following example :看看下面的例子:

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

# Setting up the figure, the axis, and the plot element we want to animate
fig = plt.figure()
ax = plt.axes(xlim=(-10, 10), ylim=(-10, 1000))
line, = ax.plot([], [], lw=2)

# initialization method: plot the background of each frame
def init():
    line.set_data([], [])
    return line,

# animation method.  This method will be called sequentially
pow_ = 2
def animate(i):
    global pow_
    x = np.linspace(-10, 10, 1000)
    y = x**pow_
    pow_+=2
    line.set_data(x, y)
    return line,

# call the animator.  blit=True means only re-draw the parts that have changed.
anim = animation.FuncAnimation(fig, animate, init_func=init,
                               frames=10, interval=200, blit=True)

# if you want to save this animation as an mp4 file, uncomment the line bellow
# anim.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])

plt.show()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM