python读取文本绘制动态速度曲线
程序员文章站
2022-07-22 18:12:49
本文实例为大家分享了python读取文本绘制动态速度曲线的具体代码,供大家参考,具体内容如下
由于需要分析机械加工过程中各个轴的速度,于是用软件导出了数据,写了这个pyt...
本文实例为大家分享了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()
读取的文本格式如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 水煮花菜做法和功效作用