python绘制动态曲线教程


Posted in Python onFebruary 24, 2020

从txt种获取数据 并且通过动态曲线显示

import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.animation as animation 
import time 
# Fixing random state for reproducibility 
np.random.seed(196) 
path = "feed.txt" 
file = open(path, 'r') 
data = []
for line in file.readlines(): 
 lineArr = line.strip().split() 
 data.append(int(lineArr[0])) 
xdata = np.arange(0,len(data))
#初始数据绘图 
dis = np.zeros(40) 
dis2 = dis 
fig, ax = plt.subplots() 
line, = ax.plot(dis) 
ax.set_ylim(0, 100) 
plt.grid(True) 
ax.set_ylabel("distance: m") 
ax.set_xlabel("time") 
 
def update(frame): 
 global dis 
 global dis2 
 global line 
 #读入模拟 
 a = frame 
 time.sleep(np.random.rand()/10) 
 #绘图数据生成 
 dis[0:-1] = dis2[1:] 
 dis[-1] = a 
 dis2 = dis 
 #绘图
 line.set_ydata(dis) 
 #颜色设置 
 plt.setp(line, 'color', 'b', 'linewidth', 2.0) 
 return line 
ani = animation.FuncAnimation(fig, update,frames=data, interval=10) 
plt.show()

输出:

python绘制动态曲线教程

补充拓展:Python绘制mes曲线实例

mes曲线:累计误差曲线。一般用于测试生成的关键点与标定的关键点间的差异情况,差异一般是指两点间的欧氏距离。

标记点坐标 p_g(x,y)

预测点坐标 p_t(x,y)

dist(p_g,p_t)可以计算两点间的欧氏距离。

def dist(point1,point2):
 return ((point1[0] - point2[0]) ** 2 + (point1[1] - point2[1]) ** 2) ** 0.5

在人脸的关键点检测中,dist()计算的距离/双眼间距离 进行归一化。将归一化后的值append到MSE,调用drawCDFSingle(MSE)即可看到累计误差曲线。

def drawCDFSingle(MSE):
 plotDataset = [[], []]
 plt.grid()
 plt.xlabel("pixel error")
 plt.ylabel("Fraction of number of landmarks")
 plt.title('CDF')
 for i in range(len(MSE[0])):
  sumnum = 0
  mse_point = [x[i] for x in MSE]
  mse_point.sort()
  plotDataset[0]=[]
  plotDataset[1]=[]
  for t in range(len(mse_point)):
   plotDataset[0].append(float(t+1)/len(mse_point))
   # sumnum=sumnum+float(mse_point[t])
   plotDataset[1].append(float(mse_point[t]))
  plt.plot(plotDataset[1],plotDataset[0] , color[i%len(color)]+linestyle[i%len(linestyle)], linewidth=2, label=i)
 plt.legend() # make legend
 plt.show()

python绘制动态曲线教程

以上这篇python绘制动态曲线教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之坑爹的字符编码
Sep 28 Python
详解Python中for循环的使用
Apr 14 Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 Python
Python2/3中urllib库的一些常见用法
Dec 19 Python
学习Python selenium自动化网页抓取器
Jan 20 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
使用Python的toolz库开始函数式编程的方法
Nov 15 Python
python 常见字符串与函数的用法详解
Nov 23 Python
python绘制无向图度分布曲线示例
Nov 22 Python
Django自关联实现多级联动查询实例
May 19 Python
Python通过字典映射函数实现switch
Nov 06 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
Feb 23 #Python
Windows系统下pycharm中的pip换源
Feb 23 #Python
推荐8款常用的Python GUI图形界面开发框架
Feb 23 #Python
PyQt5高级界面控件之QTableWidget的具体使用方法
Feb 23 #Python
PyQt5中QTableWidget如何弹出菜单的示例代码
Feb 23 #Python
Python requests设置代理的方法步骤
Feb 23 #Python
详解Python修复遥感影像条带的两种方式
Feb 23 #Python
You might like
php适配器模式介绍
2012/08/14 PHP
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
PHP实现生成唯一编号(36进制的不重复编号)
2014/07/01 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
PHP中Restful api 错误提示返回值实现思路
2016/04/12 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
2019/07/20 PHP
php时间戳转换代码详解
2019/08/04 PHP
JavaScript实际应用:innerHTMl和确认提示的使用
2006/06/22 Javascript
jquery获取节点名称
2015/04/26 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
2016/03/10 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
微信小程序scroll-view组件实现滚动动画
2018/01/31 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
2020/08/07 Javascript
利用Psyco提升Python运行速度
2014/12/24 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
python批量处理文件或文件夹
2020/07/28 Python
HTML5 CSS3新的WEB标准和浏览器支持
2009/07/16 HTML / CSS
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
英国羊皮鞋类领先品牌:Just Sheepskin
2019/12/12 全球购物
英语系本科生个人求职信
2013/09/21 职场文书
事业单位接收函
2014/01/10 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
上班上网检讨书
2014/01/29 职场文书
岗位廉政承诺书
2014/03/27 职场文书
上海世博会志愿者口号
2014/06/17 职场文书
旅游活动总结
2014/08/27 职场文书
诚实守信演讲稿
2014/09/01 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
2014年稽查工作总结
2014/12/20 职场文书
2015年入党积极分子评语
2015/03/26 职场文书
初一语文教学反思
2016/03/03 职场文书
python 如何执行控制台命令与操作剪切板
2021/05/20 Python