diff --git a/plot_data.py b/plot_data.py index dd6112f..2bd43d7 100644 --- a/plot_data.py +++ b/plot_data.py @@ -33,13 +33,12 @@ class PlotData(): self.queues[sensor_name][1].append(dat) self.extend_timeline() self.sort_in_queue() - #self.drop_old() + self.drop_old() def extend_timeline(self): #extend numpy arrays with passed time #unknown values are filled with nans end = (datetime.utcnow()-self.start_time)/timedelta(milliseconds=self.resolution) - print(end, self.start_time) self.data["time"] = np.arange(0, end, 1).astype(np.double) for key in self.data: @@ -53,14 +52,18 @@ class PlotData(): time = np.array(self.queues[key][0]) data = np.array(self.queues[key][1]) if time.size > 1: - inter = np.interp(self.data["time"], time, data) - self.data[key] = inter#np.where(np.isnan(inter), self.data[key], inter) + inter = np.interp(self.data["time"], time, data,left=np.nan,right=np.nan) + self.data[key] = np.where(np.isnan(inter), self.data[key], inter) + def drop_old(self): for key in self.queues: time = np.array(self.queues[key][0]) old = self.data["time"][-1]-(self.timeout) if time.size>2: - drop_index = (np.where(time < old)[0])[-1] - self.queues[key] = (self.queues[key][0][drop_index:],self.queues[key][1][drop_index:]) + drop_index = (np.where(time < old)[0]) + if len(drop_index) is not 0: + drop_index = drop_index[-1] + self.queues[key] = (self.queues[key][0][drop_index:],self.queues[key][1][drop_index:]) + print(drop_index)