python 读取目录下csv文件并绘制曲线v111的方法
更新时间:2018年07月06日 08:41:30 作者:liang890319
今天小编就为大家分享一篇python 读取目录下csv文件并绘制曲线v111的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
实例如下:
# -*- 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使用cx_Oracle调用Oracle存储过程的方法示例
这篇文章主要介绍了Python使用cx_Oracle调用Oracle存储过程的方法,结合具体实例分析了Python中通过cx_Oracle调用PL/SQL的具体步骤与相关操作技巧,需要的朋友可以参考下2017-10-10
Python操作Elasticsearch处理timeout超时
这篇文章主要介绍了Python操作Elasticsearch处理timeout超时,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-07-07


最新评论