1 Star 0 Fork 0

朱康宝/CSDN

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
animation.py 1.71 KB
一键复制 编辑 原始数据 按行查看 历史
朱康宝 提交于 2018-12-17 16:12 +08:00 . anim
# -*- coding: utf-8 -*-
"""
date: Mon Dec 17 14:51:15 2018
python: Anaconda 3.6.5
author: kanade
email: kanade@blisst.cn
"""
import numpy as np
import matplotlib.pyplot as mp
import matplotlib.animation as ma
def update(number):
global sc, size, color, position
# 大小加一个随机量
size += np.random.randint(30, 120, n)
# 让其中一个泡泡位置变化,然后大小从0开始,颜色重新随机
burst = number % n
position[burst] = np.random.random_sample(2)
size[burst] = 0
color[burst] = np.random.random_sample(4)
# 将变化的属性给scatter,也就是让scatter以这些参数重新绘制图形
sc.set_offsets(position)
sc.set_sizes(size)
sc.set_facecolor(color)
n = 100
# 随机从0-1的浮点数,维度为(n, 2)
position = np.random.uniform(0, 1, (n, 2))
# 随机50-750的整数,维度为(n,)
size = np.random.randint(50, 750, n)
# 随机0-1的浮点数,维度为(n, 4)
color = np.random.random_sample((n, 4))
# 颜色可以给用英文表示的颜色,也可以给十六进制的代码,比如#FFFFFF
# 而16进制的#FFFFFF又可以拆分为红(r)、绿(g)、蓝(b),表示形式为(255, 255, 255)
# 在画图的时候还可以加入一个透明度,取值在0-1,(255, 255, 255, 0.5)
# matplotlib将rgb的取值从0-255变成了0-1,也就是将rgb三个值分别除以255
# 就变成了四个0-1的数组成的数组(1, 1, 1, 0.5)
mp.figure('Animation')
mp.title('Animation', fontsize=20)
mp.xticks(())
mp.yticks(())
sc = mp.scatter(position[:, 0], position[:, 1],
s=size, c=color)
# mp.gcf()表示当前窗口
anim = ma.FuncAnimation(mp.gcf(), update, interval=33)
mp.show()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/kanadeblisst/CSDN.git
git@gitee.com:kanadeblisst/CSDN.git
kanadeblisst
CSDN
CSDN
master

搜索帮助