Я создаю график рассеяния из набора данных xarray, используя
scat = ds.hvplot.scatter(x='a', y='b', groupby='c', height=900, width=900)
Как добавить линию регрессии к этому графику?
Я также использую это для установки некоторыхиз свойств на графике, и я мог бы добавить Slope в функции ловушки, но я не могу понять, как получить доступ к x и y из plot.state.Это также может быть совершенно неправильным способом сделать это.
scat = scat.opts(hooks=[hook])
def hook(plot, element):
print('plot.state: ', plot.state)
print('plot.handles: ', sorted(plot.handles.keys()))
par = np.polyfit(x, y, 1, full=True)
gradient=par[0][0]
y_intercept=par[0][1]
slope = Slope(gradient=gradient, y_intercept=y_intercept,
line_color='orange', line_dash='dashed', line_width=3.5)
plot.state.add_layout(slope)
scat = scat.opts(hooks=[hook])