def new_plot(sensor, x, y, z): cur_time = int(round(time.time() * 1000)) if sensor not in sensors_data: sensors_data[sensor] = dict() for direction in directions: sensors_data[sensor][direction] = dict() sensors_data[sensor][direction]['data'] = period * [10] sensors_data[sensor][direction]['k_filtering_data'] = period * [10] sensors_data[sensor][direction]['figure'] = plt.figure() sensors_data[sensor][direction]['axis'] = sensors_data[sensor][direction]['figure'].add_subplot(111) sensors_data[sensor]['time'] = list() sensors_data[sensor][direction]['temp_data'] = list() sensors_data[sensor][direction]['k_filtering_temp_data'] = list() li, = sensors_data[sensor][direction]['axis'].plot(time1, sensors_data[sensor][direction]['data'], 'r') sensors_data[sensor][direction]['list'] = li li, = sensors_data[sensor][direction]['axis'].plot(time1, sensors_data[sensor][direction]['k_filtering_data'], 'b') sensors_data[sensor][direction]['k_filtering_list'] = li sensors_data[sensor][direction]['figure'].canvas.set_window_title(sensor+"_"+direction) sensors_data[sensor][direction]['figure'].canvas.draw() plt.show(block=False) plt.ylim(-5,5) sensors_data[sensor]['time'].append(cur_time) #sensors_data[sensor]['x']['temp_data'].append(magnitude(x,y,z)) if sensor == 'ori': sensors_data[sensor]['x']['temp_data'].append(y/36.0) elif sensor == 'lin': sensors_data[sensor]['x']['temp_data'].append(z/2) if len(sensors_data[sensor]['x']['k_filtering_temp_data'])==0: for direction in directions: sensors_data[sensor][direction]['k_filtering_temp_data'].append(sensors_data[sensor][direction]['temp_data'][-1]) else: for direction in directions: sensors_data[sensor][direction]['k_filtering_temp_data'].append(filter.k_filtering(sensors_data[sensor][direction]['k_filtering_temp_data'][-1], sensors_data[sensor][direction]['temp_data'][-1])) if len(sensors_data[sensor]['x']['temp_data']) == 10: for direction in directions: sensors_data[sensor][direction]['data'][:-10] = sensors_data[sensor][direction]['data'][10:] sensors_data[sensor][direction]['data'][-10:] = sensors_data[sensor][direction]['temp_data'] sensors_data[sensor][direction]['list'].set_ydata(sensors_data[sensor][direction]['data']) sensors_data[sensor][direction]['k_filtering_data'][:-10] = sensors_data[sensor][direction]['k_filtering_data'][10:] sensors_data[sensor][direction]['k_filtering_data'][-10:] = sensors_data[sensor][direction]['k_filtering_temp_data'] sensors_data[sensor][direction]['k_filtering_list'].set_ydata(sensors_data[sensor][direction]['k_filtering_data']) # print len(sensors_data[sensor][direction]['k_filtering_temp_data']), len(sensors_data[sensor][direction]['k_filtering_data']), len(sensors_data[sensor][direction]['data']), len(time1) print "redrawn" sensors_data[sensor][direction]['figure'].canvas.draw() sensors_data[sensor][direction]['temp_data'] = list() sensors_data[sensor][direction]['k_filtering_temp_data'] = list()
def filter_data(self): for direction in directions: for i in range(1, len(self.Acc[direction])): self.Acc[direction][i] = filter.k_filtering(self.Acc[direction][i-1], self.Acc[direction][i], const_k) self.Ori[direction][i] = filter.k_filtering(self.Ori[direction][i-1], self.Ori[direction][i], const_k) self.Gyr[direction][i] = filter.k_filtering(self.Gyr[direction][i-1], self.Gyr[direction][i], const_k)
list_max = +5 pltAccx = Plot(timeList,"AccX",(-1,1)) cmap = get_cmap(30) i = 0 for exercise in trimmedDown: # if int(exercise.exNo) in [3,16,17,1,13,2,18]: # continue i = i+1 print "Key ",exercise.exNo ,len(exercise.accx) accxList = exercise.orix print "max",max(accxList),"min",min(accxList) col = cmap(int(exercise.exNo)) newList = list() newList.append(accxList[0]) for i in range(1, len(accxList)): newList.append(filter.k_filtering(previous=newList[i-1], current=accxList[i], k_filtering_factor=0.5)) c = str() pltAccx.add_curve(y = newList,color=np.random.rand(3,1),label=str(exercise.exNo)) pltAccx.save_fig() pltAccx.show_fig() # plt.show(block=False) # # time = range(0,1000) # y = range(0,1000) # y2 = [] # for i in range(10,1010): # y2.append(i) # first = Plot(time, "demo", (-1, 1001))