Я создал радиолокационную диаграмму, на которой отображаются данные, называемые зонами. Я не могу создать функцию обратного вызова, которая возвращает легенды, видимые в данный момент в результате действия пользователя над легендой. Когда пользователь отменяет выбор элементов легенды, график хорошо их скрывает, но мне нужно зафиксировать то, что осталось.
По сути, я печатаю имена зон на дисплее, а затем использую их для фильтров фреймов данных. для отображения некоторой аналитики.
Я создал радиолокационную диаграмму, на которой отображаются данные, называемые зонами. Я не могу создать функцию обратного вызова, которая возвращает легенды, видимые в данный момент в результате действия пользователя над легендой. Когда пользователь отменяет выбор элементов легенды, график хорошо их скрывает, но мне нужно зафиксировать то, что осталось. По сути, я печатаю имена зон на дисплее, а затем использую их для фильтров фреймов данных. для отображения некоторой аналитики. [code]def create_radar_chart(metrics: Dict[str, List[float]], categories: List[str]) -> go.Figure: fig = go.Figure() fig.add_trace(go.Scatterpolar( r=metrics['Baseline'], theta=categories, fill='toself', name='Baseline', line=dict(color='#808080'), fillcolor='rgba(128, 128, 128, 0.2)' ))
colors = ['#00FFB8', '#4A9DFF', '#FF6B6B', '#FFD93D', '#6C63FF'] for i, (zone, values) in enumerate(metrics.items()): if zone != 'Baseline': color = colors[i % len(colors)] fig.add_trace(go.Scatterpolar( r=values, theta=categories, fill='toself', name=zone, line=dict(color=color), fillcolor=f'rgba{tuple(list(int(color.lstrip("#")[i:i+2], 16) for i in (0, 2, 4)) + [0.4])}' ))