fix: добавлена легенда для идеальных графиков

This commit is contained in:
Andrew 2024-12-26 13:47:26 +03:00
parent 38209774c8
commit 64ced613dd
4 changed files with 8 additions and 4 deletions

Binary file not shown.

View File

@ -105,15 +105,17 @@ class PlotWidget(BasePlotWidget):
def _add_ideal_signals(self, def _add_ideal_signals(self,
plot_item: pg.PlotItem, plot_item: pg.PlotItem,
legend_item: pg.LegendItem,
ideal_data: dict[str, Any], ideal_data: dict[str, Any],
point_events: dict[str, list[float]], point_events: dict[str, list[float]],
ideal_signals: list[dict[str, Any]], 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( curve = self._create_curve_ideal(
signal, signal,
ideal_data[stage], ideal_data[stage],
@ -126,6 +128,7 @@ class PlotWidget(BasePlotWidget):
curve_items["ideal"].setdefault(signal["name"], {}) curve_items["ideal"].setdefault(signal["name"], {})
curve_items["ideal"][signal["name"]].setdefault(stage, []) curve_items["ideal"][signal["name"]].setdefault(stage, [])
curve_items["ideal"][signal["name"]][stage].append(curve) curve_items["ideal"][signal["name"]][stage].append(curve)
if is_last: legend_item.addItem(curve, "Ideal " + signal["name"])
def _add_real_signals(self, def _add_real_signals(self,
plot_item: pg.PlotItem, plot_item: pg.PlotItem,
@ -288,8 +291,9 @@ class PlotWidget(BasePlotWidget):
# Добавляем идеальные стадии и идеальные сигналы # Добавляем идеальные стадии и идеальные сигналы
if settings["ideals"]: 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_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"]: if settings["performance"]: