python处理csv数据动态显示曲线实例代码
本文研究的主要是python处理csv数据动态显示曲线,分享了实现代码,具体如下。
代码:
#-*-coding:utf-8-*-
"""
SpyderEditor
Thistemporaryscriptfileislocatedhere:
C:\Users\user\.spyder2\.temp.py
"""
"""
Showhowtomodifythecoordinateformattertoreporttheimage"z"
valueofthenearestpixelgivenxandy
"""
#coding:utf-8
importtime
importstring
importos
importmath
importpylab
importnumpyasnp
fromnumpyimportgenfromtxt
importmatplotlib
importmatplotlibasmpl
frommatplotlib.colorsimportLogNorm
frommatplotlib.mlabimportbivariate_normal
importmatplotlib.pyplotasplt
importmatplotlib.cmascm
importmatplotlib.animationasanimation
metric=genfromtxt('D:\export.csv',delimiter=',')
lines=len(metric)
#printlen(metric)
#printlen(metric[4])
#printmetric[4]
rowdatas=metric[:,0]
forindexinrange(len(metric[4])-1):
a=metric[:,index+1]
rowdatas=np.row_stack((rowdatas,a))
#printlen(rowdatas)
#printlen(rowdatas[4])
#printrowdatas[4]
#
#plt.figure(figsize=(38,38),dpi=80)
#plt.plot(rowdatas[4])
#plt.xlabel('time')
#plt.ylabel('value')
#plt.title("USBHIDdataanalysis")
#plt.show()
linenum=1
##如果是参数是list,则默认每次取list中的一个元素,即metric[0],metric[1],...
listdata=rowdatas.tolist()
printlistdata[4]
#fig=plt.figure()
#window=fig.add_subplot(111)
#line,=window.plot(listdata[4])
fig,ax=plt.subplots()
line,=ax.plot(listdata[4],lw=2)
ax.grid()
time_template='DataROW=%d'
time_text=ax.text(0.05,0.9,'',transform=ax.transAxes)
#ax=plt.axes(xlim=(0,700),ylim=(0,255))
#line,=ax.plot([],[],lw=2)
defupdate(data):
globallinenum
line.set_ydata(data)
#print'thisisline:%d'%linenum
time_text.set_text(time_template%(linenum))
linenum=linenum+1
#nextitem=input(u'输入任意字符继续:')
returnline,
definit():
#ax.set_ylim(0,1.1)
#ax.set_xlim(0,10)
#line.set_data(xdata)
plt.xlabel('time')
plt.ylabel('Time')
plt.title('USBHIDDataanalysis')
returnline,
ani=animation.FuncAnimation(fig,update,listdata,interval=1*1000,init_func=init,repeat=False)
plt.show()
总结
以上就是本文关于python处理csv数据动态显示曲线实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!