Bubbles

该博客使用Python实现气泡动画。先导入所需模块,设置气泡的个数、大小、位置、颜色和生长速度,创建窗口对象并绘制散点图。接着设置回调函数更新气泡状态,最后利用matplotlib的animation模块生成动画。

-- coding: utf-8 --

from future import unicode_literals

所需要的模块导入

import numpy as np
import matplotlib.pyplot as mp
import matplotlib.animation as ma

设置气泡个数,大小,位置,颜色,生长速度

n_bubbles = 100
bubbles = np.zeros(n_bubbles, dtype=[
(‘position’, float, 2),
(‘size’, float),
(‘growth’, float),
(‘color’, float, 4)
])
bubbles[‘position’] = np.random.uniform(0, 1, (n_bubbles, 2))
bubbles[‘size’] = np.random.uniform(50, 750, n_bubbles)
bubbles[‘growth’] = np.random.uniform(30, 50, n_bubbles)
bubbles[‘color’] = np.random.uniform(0, 1, (n_bubbles, 4))

创建窗口对象

mp.figure(“Bubbles”)

画散点图

sc = mp.scatter(bubbles[‘position’][:, 0],
bubbles[‘position’][:, :1],
s=bubbles[‘size’], c=bubbles[‘color’])

设置回调函数

def update(number):
bubbles[‘size’] += bubbles[‘growth’]
burst = number % n_bubbles
bubbles[‘position’][burst] = np.random.uniform(0, 1, 2)
bubbles[‘size’][burst] = 0
bubbles[‘growth’][burst] = np.random.uniform(30, 150)
sc.set_offsets(bubbles[‘position’])
sc.set_sizes(bubbles[‘size’])
sc.set_facecolors(bubbles[‘color’])

生成动画

anim = ma.FuncAnimation(mp.gcf(), update, interval=10)
mp.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值