-- 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()