python 读取目录下csv文件并绘制曲线v111的方法

yipeiwu_com5年前Python基础

实例如下:

# -*- 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
V1.1.1 get all filenames in shortout dir choose one to analysis
"""
# coding: utf-8
 
import time
import string
import os 
import math 
import pylab
import csv
 
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
 
  
pause = False
linenum=0
fileList=[]  #待处理文件路径
for filename in os.listdir(r'D:\shortout'):
 pa='D:\shortout\%s'%filename
 fileList.append(pa)
 
#for files in range(0,len(fileList)):
 
metric = genfromtxt(fileList[0], 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
 

以上这篇python 读取目录下csv文件并绘制曲线v111的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

利用Python的装饰器解决Bottle框架中用户验证问题

首先来分析下需求,web程序后台需要认证,后台页面包含多个页面,最普通的方法就是为每个url添加认证,但是这样就需要每个每个绑定url的后台函数都需要添加类似或者相同的代码,但是这样做代...

Python实现破解12306图片验证码的方法分析

Python实现破解12306图片验证码的方法分析

本文实例讲述了Python实现破解12306图片验证码的方法。分享给大家供大家参考,具体如下: 不知从何时起,12306的登录验证码竟然变成了按字找图,可以说是又提高了一个等次,竟然把图...

详解Python读取yaml文件多层菜单

需要用到的Python知识点 Python的对象属性方法; 用到字典{key:value}值的提取; 列表的增加; if循环结合break的使用; yaml文件读取...

Python中使用select模块实现非阻塞的IO

Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一...

python实现多线程采集的2个代码例子

代码一: #!/usr/bin/python # -*- coding: utf-8 -*- #encoding=utf-8   import threading impo...