欢迎光临
我们一直在努力

使用python怎么绘制动态曲线 - 开发技术

这期内容当中小编将会给大家带来有关使用python怎么绘制动态曲线,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Python的优点有哪些

1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、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()

上述就是小编为大家分享的使用python怎么绘制动态曲线了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注云行业资讯频道。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。