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,
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"]: