diff --git a/Windows/main.py b/Windows/main.py index aa60ca28aefc52fd2856b24fb66af353ecbe5c1f..398a56129f2903bb6f5d9eaf008e7c61948ef958 100644 --- a/Windows/main.py +++ b/Windows/main.py @@ -3670,7 +3670,7 @@ class Interface: self.collector_emg_2.append(emg_data[1]) self.collector_emg_2.popleft() collated_data = np.array([emg_data]) - #修改,每过201秒修改一次 + # 修改,每过201秒修改一次 prediction = self._real_time_classification_prediction(collated_data, self._real_time_predictions[-1]) if prediction == 1: self.real_time_classification_gesture_label.config(text="Gesture: Hand Closed") @@ -3685,14 +3685,24 @@ class Interface: self._real_time_predictions.append(prediction) self._real_time_predictions.popleft() # Solving a strange error case where emg_data does not seem to append or exist but is not "None" - if len(self._real_time_predictions) < len(self._x_axis): - self._real_time_predictions.append(self._real_time_predictions[-1]) + if len(self.collector_emg_1) < len(self._x_axis): + self.collector_emg_1.append(self.collector_emg_1[-1]) # Append the last element in the deque + if len(self.collector_emg_2) < len(self._x_axis): + self.collector_emg_2.append(self.collector_emg_2[-1]) # Append the last element in the deque if self._graph_enable and self._plot_now: self._plot_now = False - self._real_time_classification_result_line[0][0].set_data(self._x_axis, self.collector_emg_1) - self._real_time_classification_result_line[1][0].set_data(self._x_axis, self.collector_emg_2) + min_length = min(len(self._x_axis), len(self.collector_emg_1), len(self.collector_emg_2)) + x_axis = self._x_axis[:min_length] + collector_emg_1 = list(self.collector_emg_1)[:min_length] + collector_emg_2 = list(self.collector_emg_2)[:min_length] + + self._real_time_classification_result_line[0][0].set_data(self._x_axis, collector_emg_1) + self._real_time_classification_result_line[1][0].set_data(self._x_axis, collector_emg_2) + + self._real_time_classification_result_line[0][0].set_color("blue") + self._real_time_classification_result_line[1][0].set_color("red") self._real_time_classification_result_graph.draw() self._real_time_classification_result_graph.flush_events()