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读取文本绘制动态速度曲线 的全部内容, 来源链接: utcz.com/z/324273.html

回到顶部