python 处理csv数据 动态显示曲线 matplot动画

来源:互联网 发布:新网互联域名管理 编辑:程序博客网 时间:2024/04/28 17:44
# -*- coding: utf-8 -*-"""Spyder EditorThis temporary script file is located here:C:\Users\user\.spyder2\.temp.py""""""Show how to modify the coordinate formatter to report the image "z"value of the nearest pixel given x and y"""# coding: utf-8import timeimport stringimport os  import math  import pylabimport numpy as npfrom numpy import genfromtxtimport matplotlibimport matplotlib as mplfrom matplotlib.colors import LogNormfrom matplotlib.mlab import bivariate_normalimport matplotlib.pyplot as pltimport matplotlib.cm as cmimport matplotlib.animation as animation       metric = genfromtxt('D:\export.csv', delimiter=',')lines=len(metric)  #print len(metric)#print len(metric[4])#print metric[4] rowdatas=metric[:,0]for index in range(len(metric[4])-1):    a=metric[:,index+1]    rowdatas=np.row_stack((rowdatas,a))    #print len(rowdatas)#print len(rowdatas[4])#print rowdatas[4] #    #plt.figure(figsize=(38,38), dpi=80)#plt.plot(rowdatas[4] )#plt.xlabel('time')#plt.ylabel('value')#plt.title("USBHID data analysis")#plt.show()linenum=1##如果是参数是list,则默认每次取list中的一个元素,即metric[0],metric[1],... listdata=rowdatas.tolist()print listdata[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 = 'Data ROW = %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)  def update(data):      global linenum    line.set_ydata(data)#    print 'this is line: %d'%linenum    time_text.set_text(time_template % (linenum))    linenum=linenum+1#    nextitem = input(u'输入任意字符继续: ')    return line,  def init():#    ax.set_ylim(0, 1.1)#    ax.set_xlim(0, 10)#    line.set_data(xdata)    plt.xlabel('time')    plt.ylabel('Time')    plt.title('USBHID Data analysis')    return line,    ani = animation.FuncAnimation(fig, update,listdata , interval=1*1000,init_func=init,repeat=False)  plt.show()  


0 0
原创粉丝点击