文章目录

  • 1、效果展示
  • 2、动画分析
  • 3、案例源码

1、效果展示

  • 动态更新波形图:
  • 静态图:

2、动画分析

  • 这是一个使用了生成器的动画效果,生成器里面会不断生成新的值,然后放到更新函数里面在指定的interval间隔时间里执行,将其渲染出图像
def 更新函数(生成值):更新画面帧来渲染
def 生成器():for...:产生新的数据yield 生成值
  • 创建动画:ma.FuncAnimation(图形对象, 更新函数, 生成器, interval=间隔时间(毫秒))

3、案例源码


import numpy as np
import matplotlib.pylab as mp
import matplotlib.animation as mamp.figure("Signal", facecolor='lightgray')
mp.title('Signal', fontsize=20)
mp.xlabel('Time', fontsize=14)  # 横纵坐标标签
mp.ylabel('Signal', fontsize=14)ax = mp.gca()  # 获取坐标轴
ax.set_ylim(-3, 3)  # 垂直坐标范围
ax.set_xlim(0, 10)
mp.tick_params(labelsize=10)  # 精度值
mp.grid(linestyle=':')  # 网格线# 创建一个plot空对象(只是没有数据,仍然是一个完整的图像)
pl = mp.plot([], [], c="orangered")[0]  # 有很多个元素,此处取一个处理
pl.set_data([], [])  # 设置数据,此处给的空数据,以便于之后将生成器的数据传入# 接收生成器数据的更新函数
def update(data):t, v = data  # 时间,生成器的值x, y = pl.get_data()  # 获取生成器数据# 追加数据x.append(t)y.append(v)# 移动坐标轴位置,以便持续观察数据# 获取当前坐标轴的最小值与最大值,即坐标系的左右边界x_min, x_max = ax.get_xlim()if t >= x_max:# 平移坐标轴:将最小值变为当前位置减去窗口宽度,最大值变为当前值ax.set_xlim(t - (x_max - x_min), t)# 坐标系起点终点都改变了,需要重新画一个画布ax.figure.canvas.draw()# 修改数据pl.set_data(x, y)# 生成器函数
def generator():t = 0  # 时间while True:# 用正弦函数来生成数据v = np.sin(2 * np.pi * t) * np.exp(np.sin(0.2 * np.pi * t))  # 振幅呈正弦规律变化的正弦函数yield t, v  # yield的会保存状态的返回,与return不同t += 0.05# 生成动画
anim = ma.FuncAnimation(mp.gcf(), update, generator, interval=5)mp.show()

Python之数据分析(生成动态图像、示波器效果)相关推荐

  1. AnyChart使用指南三:生成动态图像

    AnyChart主要工作原理是有一个.swf文件作为对象,数据和设置存放在.xml文件中,然后在.html文件里通过JS来调用,生成动态图像. 由于想使用到struts中去,xml文件自动生成,有个叫 ...

  2. python根据日期生成动态密码

    序言 因最近公司的业务需求,研究了一下根据时间进行动态密码生成,下面是源代码 import hmac, os from datetime import datetimedef create_pwd() ...

  3. Python学习之生成动态二维码

    from MyQR import myqr myqr.run(     words='http://weixin.qq.com/r/kzlje9TEE4lsrZAY92yB',     # 扫描二维码 ...

  4. Python 画樱花(动态画+飘落效果+暗色效)

    link # coding=utf-8 # 画一棵樱花import turtle import random from turtle import * from time import sleep# ...

  5. Python实现PS滤镜Fish lens图像扭曲效果示例

    Python实现PS滤镜Fish lens图像扭曲效果 这篇文章主要介绍了Python实现PS滤镜Fish lens图像扭曲效果,结合实例形式分析了Python实现PS滤镜的图像扭曲效果相关操作技巧 ...

  6. python实现黄金分割搜索算法+动态展示

    python实现黄金分割搜索算法+动态展示 前言 要求 黄金分割搜索算法原理 伪代码 代码编写 动态结果 python代码 前言 数值算法是跟数学关系比较密切的一门课程,主要是用计算机程序实现一些数学 ...

  7. 如何批量制作动态旋转视频效果

    如何批量制作动态旋转视频效果,首先我们在手机上安装应用程序"王者剪辑app",启动软件并进入一键剪辑中的"特效应用"功能, 批量导入或导入一个视频, 接着选择& ...

  8. 最简单方法!!用python生成动态条形图(解决报错问题!)

    最简单方法!!用python生成动态条形图 文章目录 最简单方法!!用python生成动态条形图 1. 安装第三方包: bar_chart_race 2. 数据准备 3. 函数讲解 4. 详细举例(复 ...

  9. python可视化数据分析plotly-Python数据分析:基于Plotly的动态可视化绘图

    随着信息技术的发展和硬件设备成本的降低,当今的互联网存在海量的数据,想要快速从这些数据中获取更多有效的信息,数据可视化是重要的一环.对Python语言来说,比较传统的数据可视化模块是Matplotli ...

最新文章

  1. Vaadin学习经验
  2. 【NOIP模拟】开車【回退贪心】【multiset】
  3. MSDTC on server 'xxx' is unavailable
  4. 华为笔试题 简答错误记录(字符串处理,好题!!!)
  5. red linux 9 中文,Red Hat Linux 9 命令行中文显示问题
  6. spring配置数据源错误记录
  7. pandas.DataFrame.sample随机抽样
  8. Unity3D 下载与安装
  9. MQTT如何快速助你产品化
  10. 微信公众号管理后台获取已关注的openid
  11. ui设计app设计风格有哪些?ui设计app界面设计流程是什么?
  12. JTT 809-2019客户端与服务端协议开发
  13. Unity项目在pc和ios设备上黑屏的原因探究
  14. 防火墙基础之华为防火墙分支与分支IPSec 对接
  15. python爬京东联盟_Python爬取京东商品数据
  16. zabbix图形中文字显示方框或乱码问题
  17. 2020哔哩哔哩校招后端开发笔试编程题总结
  18. (转)游戏运营18种方式
  19. Java对base64编解码总结
  20. Android-PickerView系列之介绍与使用篇(一)

热门文章

  1. python列表使用判断_浅谈Python数据类型判断及列表脚本操作
  2. ionic3 前台时间戳转化成日期问题
  3. php 判断 单选按钮事件,jquery如何判断单选按钮是否选中
  4. ir指令、立即数的作用_ARM指令中使用立即数详解
  5. java 可见_Java可见性机制的原理
  6. 鸿蒙系统和汽车,华为鸿蒙系统和新日电动车,到底是什么关系?
  7. java乱码转中文乱码_java字节数组转换中文乱码,请求帮助
  8. c语言自动突破,为你解决c语言源代码【突破方案】
  9. linux安装mathematica7,Linux下面如何安装maple,mathematica,matlab这类软件?
  10. php 环境优化,Nginx与PHP-fpm环境在大流量下的优化配置