当前位置: 移动技术网 > IT编程>脚本编程>Python > python读取文本绘制动态速度曲线

python读取文本绘制动态速度曲线

2019年06月16日  | 移动技术网IT编程  | 我要评论

行尸走肉第六季13,在线简转繁,迦西共和国

本文实例为大家分享了python读取文本绘制动态速度曲线的具体代码,供大家参考,具体内容如下

由于需要分析机械加工过程中各个轴的速度,于是用软件导出了数据,写了这个python脚本来显示速度曲线。

效果图如下:

源代码:

import numpy as np 
from matplotlib import pyplot as plt 
from matplotlib import animation 
 
path = "nccut_tracefile.log" 
file = open(path, 'r') 
 
amat = []; bmat = [];xmat = [];ymat = [];zmat = []; 
 
for line in file.readlines(): 
  linearr = line.strip().split() 
  amat.append(int(linearr[0])) 
  bmat.append(int(linearr[1])) 
  xmat.append(int(linearr[2])) 
  ymat.append(int(linearr[3])) 
  zmat.append(int(linearr[4])) 
   
fig = plt.figure() 
axa = fig.add_subplot(5,1,1,xlim=(0, 0.2), ylim=(0, 40)) 
axb = fig.add_subplot(5,1,2,xlim=(0, 0.2), ylim=(0, 40)) 
axx = fig.add_subplot(5,1,3,xlim=(0, 0.2), ylim=(0, 200)) 
axy = fig.add_subplot(5,1,4,xlim=(0, 0.2), ylim=(0, 200)) 
axz = fig.add_subplot(5,1,5,xlim=(0, 0.2), ylim=(0, 200)) 
 
linea, = axa.plot([], [], lw=1)  
lineb, = axb.plot([], [], lw=1)  
linex, = axx.plot([], [], lw=1)  
liney, = axy.plot([], [], lw=1)  
linez, = axz.plot([], [], lw=1) 
 
def init():  
  linea.set_data([], [])  
  lineb.set_data([], []) 
  linex.set_data([], []) 
  liney.set_data([], []) 
  linez.set_data([], [])  
  return linea,lineb,linex,liney,linez 
 
def animate(i): 
 
  t = np.linspace(0, 0.2, 10)   
  ya = amat[i:10 + i]  
  linea.set_data(t, ya)   
  
  yb = bmat[i:10 + i] 
  lineb.set_data(t, yb)  
  
  yx = xmat[i:10 + i] 
  linex.set_data(t, yx)  
 
  yy = ymat[i:10 + i] 
  liney.set_data(t, yy)  
 
  yz = zmat[i:10 + i] 
  linez.set_data(t, yz)  
 
  return linea,lineb,linex,liney,linez 
 
anim1=animation.funcanimation(fig, animate, init_func=init, frames=len(xmat)-10, interval=2)  
plt.show() 

读取的文本格式如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网