diff --git a/src/__pycache__/main.cpython-310.pyc b/src/__pycache__/main.cpython-310.pyc index 0ed1f0b..2d7228a 100644 Binary files a/src/__pycache__/main.cpython-310.pyc and b/src/__pycache__/main.cpython-310.pyc differ diff --git a/src/gui/__pycache__/mainGui.cpython-310.pyc b/src/gui/__pycache__/mainGui.cpython-310.pyc index c6bb37f..de6e7c3 100644 Binary files a/src/gui/__pycache__/mainGui.cpython-310.pyc and b/src/gui/__pycache__/mainGui.cpython-310.pyc differ diff --git a/src/gui/__pycache__/plotter.cpython-310.pyc b/src/gui/__pycache__/plotter.cpython-310.pyc index 5c7727a..e4d6dff 100644 Binary files a/src/gui/__pycache__/plotter.cpython-310.pyc and b/src/gui/__pycache__/plotter.cpython-310.pyc differ diff --git a/src/gui/plotter.py b/src/gui/plotter.py index 5d55b81..1085218 100644 --- a/src/gui/plotter.py +++ b/src/gui/plotter.py @@ -105,15 +105,17 @@ class PlotWidget(BasePlotWidget): def _add_ideal_signals(self, plot_item: pg.PlotItem, + legend_item: pg.LegendItem, ideal_data: dict[str, Any], point_events: dict[str, list[float]], ideal_signals: list[dict[str, Any]], - curve_items: dict) -> None: + curve_items: dict, + is_last: bool) -> None: """ Добавляет идеальные сигналы для каждого этапа. """ - for stage in point_events.keys(): - for signal in ideal_signals: + for signal in ideal_signals: + for stage in point_events.keys(): curve = self._create_curve_ideal( signal, ideal_data[stage], @@ -126,6 +128,7 @@ class PlotWidget(BasePlotWidget): curve_items["ideal"].setdefault(signal["name"], {}) curve_items["ideal"][signal["name"]].setdefault(stage, []) curve_items["ideal"][signal["name"]][stage].append(curve) + if is_last: legend_item.addItem(curve, "Ideal " + signal["name"]) def _add_real_signals(self, plot_item: pg.PlotItem, @@ -288,8 +291,9 @@ class PlotWidget(BasePlotWidget): # Добавляем идеальные стадии и идеальные сигналы if settings["ideals"]: + is_last_point = (cur_point == len(points_pocket) - 1) self._add_ideal_stage_regions(plot_item, ideal_data, point_events, reg_items, 100) - self._add_ideal_signals(plot_item, ideal_data, point_events, description["Ideal_signals"], curve_items) + self._add_ideal_signals(plot_item, legend, ideal_data, point_events, description["Ideal_signals"], curve_items, is_last_point) # Подсчёт производительности if settings["performance"]: