本文介绍了Python的动画图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个项目,以创建几个图形动画。我将有一个向加权图,并在每一步,我会改变这个几件事情。我想和动画的这些变化。所以,我的问题是这样的:

I have a project to create few graph animations. I will have a directed weighted graph and on each step, I will change few things on this. I want to make those changes with animation. So, my question is this:

是否可以使用Python,使动画和,如果是的话,你会如何做一个简单的动画?

推荐答案

Matplotlib是Python的标准图形库,它带有一个pretty像样的动画包。杰克Vanderplas对这里使用该一个优秀的教程。

Matplotlib is the standard graphing library for python, and it comes with a pretty decent animation package. Jake Vanderplas has an excellent tutorial on using this here.

从这个链接服用,如果你想动画一个正弦波,你会用下面的方法:

Taken from this link, if you want to animate a sine wave, you'd use the following method:

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

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

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

# animation function.  This is called sequentially
def animate(i):
    x = np.linspace(0, 2, 1000)
    y = np.sin(2 * np.pi * (x - 0.01 * i))
    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=200, interval=20, blit=True)

plt.show()

动画库调用函数动画一次间隔(在本实施例中指定为20)。该函数应该适当地更新地块。在这种情况下,更新线,它是正弦波数据的使用set_data方法阵列

The animation library calls the function "animate" once every interval (specified as 20 in this example). The function should update the plots appropriately. In this case, it updates "line", which is the array of sine wave data using the set_data method.

这篇关于Python的动画图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!