欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

python绘制动态曲线教程

时间:2022-04-09 14:53:05|栏目:Python代码|点击:

从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绘制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()

上一篇:在PyCharm导航区中打开多个Project的关闭方法

栏    目:Python代码

下一篇:pytorch锁死在dataloader(训练时卡死)

本文标题:python绘制动态曲线教程

本文地址:http://www.codeinn.net/misctech/198619.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有