实例如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
# -*- 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的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/liang890319/article/details/52082749