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

yipeiwu_com6年前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中单例模式总结

一、单例模式     a、单例模式分为四种:文件,类,基于__new__方法实现单例模式,基于metaclass方式实现    ...

python验证码识别的实例详解

python验证码识别的实例详解

其实关于验证码识别涉及很多方面的内容,入手难度大,但是入手后,可拓展性又非常广泛,可玩性极强,成就感也很足,对这感兴趣的朋友们下面跟着小编一起来学习学习吧。 依赖 sudo apt-...

Pycharm无法使用已经安装Selenium的解决方法

Pycharm无法使用已经安装Selenium的解决方法

电脑C盘安装python27的时候也安装了selenium,但是最近刚刚使用工具Pycharm,新建工程后,然后建立.py文件后,使用语句:from selenium.webdriver...

Python原始字符串(raw strings)用法实例

本文实例讲述了Python原始字符串(raw strings)用法,分享给大家供大家参考。具体如下:   Python原始字符串的产生正是由于有正则表达式的存在。原因是ASCI...

基于python中的TCP及UDP(详解)

基于python中的TCP及UDP(详解)

python中是通过套接字即socket来实现UDP及TCP通信的。有两种套接字面向连接的及无连接的,也就是TCP套接字及UDP套接字。 TCP通信模型 创建TCP服务器 伪代码:...