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

作者:liang890319 时间:2022-08-21 16:05:34 

实例如下:


# -*- 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

来源:https://blog.csdn.net/liang890319/article/details/52082749

标签:python,csv,曲线
0
投稿

猜你喜欢

  • javascript 45种缓动效果(一)

    2009-09-19 18:30:00
  • httpwatch 的页面元素加载时间表

    2008-02-13 08:28:00
  • MS SQL7.0的数据迁移到MySQL上的一种方法

    2008-11-01 16:59:00
  • 在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗

    2011-06-06 10:28:00
  • ASP在服务器自动解压RAR文件

    2010-04-24 16:06:00
  • laravel实现简单用户权限的示例代码

    2023-11-14 11:58:29
  • mssql server 数据库附加不上解决办法分享

    2011-09-30 11:55:20
  • PHP 截取字符串 分别适合GB2312和UTF8编码情况

    2023-09-30 18:02:30
  • Python采集王者最低战力信息实战示例

    2021-09-29 17:54:13
  • 判断字段是否被更新 新旧数据写入Audit Log表中

    2012-01-29 17:56:33
  • PHP二维码的生成与识别案例

    2023-06-14 06:48:55
  • 从mysql到oracle你必须了解的50件事儿

    2010-08-05 14:36:00
  • 用 ASP 创建 GUID

    2009-04-19 18:43:00
  • MySQL数据库锁机制的相关原理简介

    2010-04-22 15:34:00
  • Django表单提交后实现获取相同name的不同value值

    2023-08-11 01:59:31
  • 浅谈PHP中常用的3种设计模式

    2023-10-18 06:23:02
  • 动易CMS:九个常见的错误原因分析及解决方法(ZT)

    2008-07-01 12:40:00
  • Python django框架应用中实现获取访问者ip地址示例

    2022-01-06 08:08:20
  • z-blog文章摘要图文混排

    2009-02-28 13:49:00
  • 数据库名词解释

    2008-09-12 17:28:00
  • asp之家 网络编程 m.aspxhome.com