欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-22 18:12:49
本文实例为大家分享了python读取文本绘制动态速度曲线的具体代码,供大家参考,具体内容如下 由于需要分析机械加工过程中各个轴的速度,于是用软件导出了数据,写了这个pyt...

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

由于需要分析机械加工过程中各个轴的速度,于是用软件导出了数据,写了这个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() 

读取的文本格式如下:

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

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