当前位置 : 首页 » 博文聚焦 » 正文

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

分类 : 博文聚焦 | 发布时间 : 2016-07-29 11:18:09 | 浏览 : 3658
# -*- coding: utf-8 -*-
"""
Spyder Editor

This 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-8

import time
import string
import os  
import math  
import pylab

import numpy as np
from numpy import genfromtxt
import matplotlib
import matplotlib as mpl
from matplotlib.colors import LogNorm
from matplotlib.mlab import bivariate_normal

import matplotlib.pyplot as plt
import matplotlib.cm as cm


import 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()  




相关阅读:

raw_input function in Python

How to import the class within the same directory or sub directory?

How to return dictionary keys as a list in Python?

Python `if x is not None` or `if not x is None`?

Assign output of os.system to a variable and prevent it from being displayed on the screen

How can I reverse a list in Python?

What are the differences between type() and isinstance()?

How to install packages using pip according to the requirements.txt file from a local directory?

How to lowercase a string in Python?

Correct way to write line to file?