matplot 动态绘图 动画举例

来源:互联网 发布:手机怎么退出淘宝账号 编辑:程序博客网 时间:2024/04/28 10:21


10个随机数


 # -*- coding: utf-8 -*-  import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation fig = plt.figure() axes1 = fig.add_subplot(111) line, = axes1.plot(np.random.rand(10)) #因为update的参数是调用函数data_gen,#所以第一个默认参数不能是framenum def update(data):   line.set_ydata(data)   return line, # 每次生成10个随机数据 def data_gen():   while True:     yield np.random.rand(10) ani = animation.FuncAnimation(fig, update, data_gen, interval=2*1000)plt.show()


带暂停

import matplotlib.pyplot as plt  import numpy as np  import matplotlib.animation as animation    pause = False  def simData():      t_max = 10.0      dt = 0.05      x = 0.0      t = 0.0      while t < t_max:          if not pause:              x = np.sin(np.pi*t)              t = t + dt          yield t, x    def onClick(event):      global pause      pause ^= True    def simPoints(simData):      t, x = simData[0], simData[1]      time_text.set_text(time_template%(t))      line.set_data(t, x)      return line, time_text    fig = plt.figure()  ax = fig.add_subplot(111)  line, = ax.plot([], [], 'bo', ms=10) # I'm still not clear on this stucture...  ax.set_ylim(-1, 1)  ax.set_xlim(0, 10)    time_template = 'Time = %.1f s'    # prints running simulation time  time_text = ax.text(0.05, 0.9, '', transform=ax.transAxes)  fig.canvas.mpl_connect('button_press_event', onClick)  ani = animation.FuncAnimation(fig, simPoints, simData, blit=False, interval=10,      repeat=True)  plt.show() 


从csv导入 带暂停

# -*- 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      pause  = Falselinenum=0metric = 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()##如果是参数是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] )   #plt.ion()#fig, ax = plt.subplots()#line, = ax.plot(listdata[4],lw=2)#ax.grid()fig = plt.figure()  ax = fig.add_subplot(111)  line, = ax.plot(listdata[4],lw=2 ) # I'm still not clear on this stucture...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 onClick(event):    global pause    pause ^= True    print 'user click the mouse!'    print 'you pressed', event.button, event.xdata, event.ydata#   event.button=1 鼠标左键按下 2 中键按下 3 右键按下    def getData():      global listdata    global linenum    t = 0      while t < len(listdata[4]):        if not pause:             linenum=linenum+1        yield listdata[linenum-1]#    while t < len(listdata[4]):  #        t = t + 1  #        print t,t#        yield t, t          def update(data):      global linenum    line.set_ydata(data)        time_text.set_text(time_template % (linenum))    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,fig.canvas.mpl_connect('button_press_event', onClick)    ani = animation.FuncAnimation(fig, update , getData , blit=False, interval=1*1000,init_func=init,repeat=False)  plt.show()  #my_data = genfromtxt('D:\export.csv', delimiter=',')#rgbdata=my_data、255#plt.figure(figsize=(38,38), dpi=80)##for index in range(3):#    row9=rgbdata[:,index]#    print "row %d size is\n"%(index)#    plt.plot(row9 )#    plt.xlabel('time')#    plt.ylabel('value')#    plt.title("USBHID data analysis")#    plt.legend()##    plt.cla()##    plt.clf()#plt.show()#plt.figure(1)#plt.imshow(rgbdata, interpolation='nearest')#plt.grid(True)    #fig = plt.figure() # 新图 0#plt.savefig() # 保存#plt.close('all') # 关闭图 0



1 0
原创粉丝点击