Я пытаюсь использовать следующий код для создания точечной диаграммы вместе с вертикальной линией среднего значения оси x, но мне нужна некоторая помощь для ее достижения.
import pandas as pd
import holoviews as hv
hv.extension('bokeh')
df = pd.DataFrame({'group': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
'x': [3, 4, 5, 2, 2, 3, 5, 4, 7],
'y': [10, 8, 9, 3, 7, 6, 5, 4, 8]})
m1 = df['x'].mean()
line1 = hv.VLine(m1)
line1.opts(color='red', line_dash='dashed')
ds = hv.Dataset(df, kdims=['group'], vdims=['x', 'y'])
scatter = ds.to(hv.Scatter, 'x', 'y')
scatter.opts(width=400, height=400, size=10,
tools=['hover'], xlim=(0, 11), ylim=(0, 11))
layout = scatter * line1
hv.save(layout, 'means0.html')
Работает нормально, как и ожидалось с диаграммой рассеяния, и при изменении измерения «группа» изменяет нанесенные точки, но вертикальная линия среднего значения рассчитывается один раз для всего кадра данных, и я не знаю, как добиться интерактивностидля этого элемента тоже.Имеется в виду всякий раз, когда я буду менять измерение «группа», чтобы вычислить среднее значение для выбранной «группы» и построить его, как для точек.