python做动画视频教程下载,python做动画用什么软件

大家好,本文将围绕python做动画主要要学哪些东西展开说明,python做动画视频教程下载是一个很多人都想弄明白的事情,想搞清楚python做动画用什么软件需要先了解以下几个事情。

大家好,小编来为大家解答以下问题,python做动画主要要学哪些东西,python做动画的库有哪些,今天让我们一起来看看吧!

Python中的matplotlib从1.1.0版本以后就开始支持绘制动画,Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形GPT改写。这里介绍几种Python使用matplotlib绘制动画的方法python练手项目。

下面是几个的示例:

第一个例子使用generator,每隔两秒,就运行函数data_gen:# -*- coding: utf-8 -*-

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.animation as animation

fig = plt.figure()

axes1 = fig.add_subplot(111)

line, = ((10))

#因为update的参数是调用函数data_gen,

#所以第一个默认参数不能是framenum

def update(data):

line.set_ydata(data)

return line,

# 每次生成10个随机数据

def data_gen():

while True:

yield (10)

ani = animation.FuncAnimation(fig, update, data_gen, interval=2*1000)

()

第二个例子使用list(metric),每次从metric中取一行数据作为参数送入update中:import numpy as np

import matplotlib.pyplot as plt

import matplotlib.animation as animation

start = [1, 0.18, 0.63, 0.29, 0.03, 0.24, 0.86, 0.07, 0.58, 0]

metric =[[0.03, 0.86, 0.65, 0.34, 0.34, 0.02, 0.22, 0.74, 0.66, 0.65],

[0.43, 0.18, 0.63, 0.29, 0.03, 0.24, 0.86, 0.07, 0.58, 0.55],

[0.66, 0.75, 0.01, 0.94, 0.72, 0.77, 0.20, 0.66, 0.81, 0.52]

]

fig = plt.figure()

window = fig.add_subplot(111)

line, = (start)

#如果是参数是list,则默认每次取list中的一个元素,

#即metric[0],metric[1],...

def update(data):

line.set_ydata(data)

return line,

ani = animation.FuncAnimation(fig, update, metric, interval=2*1000)

()

第三个例子: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 = (xlim=(0, 2), ylim=(-2, 2))

line, = ([], [], lw=2)

# initialization function: plot the background of each frame

def init():

line.set_data([], [])

return line,

# animation function. This is called sequentially

# note: i is framenumber

def animate(i):

x = np.linspace(0, 2, 1000)

y = (2 *  * (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)

('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])

()

第四个例子:# -*- coding: utf-8 -*-

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.animation as animation

# 每次产生一个新的坐标点

def data_gen():

t = data_gen.t

cnt = 0

while cnt 

cnt+=1

t += 0.05

yield t, (2**t) * (-t/10.)

data_gen.t = 0

# 绘图

fig, ax = plt.subplots()

line, = ([], [], lw=2)

ax.set_ylim(-1.1, 1.1)

ax.set_xlim(0, 5)

()

xdata, ydata = [], []

# 因为run的参数是调用函数data_gen,

# 所以第一个参数可以不是framenum:设置line的数据,返回line

def run(data):

# update the data

t,y = data

xdata.append(t)

ydata.append(y)

xmin, xmax = ax.get_xlim()

if t >= xmax:

ax.set_xlim(xmin, 2*xmax)

()

line.set_data(xdata, ydata)

return line,

# 每隔10秒调用函数run,run的参数为函数data_gen,

# 表示图形只更新需要绘制的元素

ani = animation.FuncAnimation(fig, run, data_gen, blit=True, interval=10,

repeat=False)

()

再看下面的例子:# -*- coding: utf-8 -*-

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.animation as animation

#第一个参数必须为framenum

def update_line(num, data, line):

line.set_data(data[...,:num])

return line,

fig1 = plt.figure()

data = (2, 15)

l, = ([], [], 'r-')

(0, 1)

(0, 1)

plt.xlabel('x')

plt.title('test')

#framenum从1增加大25后,返回再次从1增加到25,再返回...

line_ani = animation.FuncAnimation(fig1, update_line, 25,fargs=(data, l),interval=50, blit=True)

#等同于

#line_ani = animation.FuncAnimation(fig1, update_line, frames=25,fargs=(data, l),

#  interval=50, blit=True)

#忽略frames参数,framenum会从1一直增加下去知道无穷

#由于frame达到25以后,数据不再改变,所以你会发现到达25以后图形不再变化了

#line_ani = animation.FuncAnimation(fig1, update_line, fargs=(data, l),

#  interval=50, blit=True)

()


原文地址1:https://blog.csdn.net/YYmmsss/article/details/135212340
参考资料:python中用turtle画一个圆形 https://blog.csdn.net/SXIAOYAN_/article/details/140061099

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值