Боке связывает два сюжета. Наведите указатель мыши на одну, выделите одну точку в другой - PullRequest
0 голосов
/ 16 июня 2020
• 1000 нижний график.

Как я могу это сделать?

umap_source = ColumnDataSource(data=dict(x=umap_results[:,0], y=umap_results[:,1]))

hover_tool = HoverTool(callback=callback)

p1= figure(plot_width=500,
           plot_height=200,
           tools=[hover_tool,"xpan,crosshair,reset"])

p2= figure(plot_width=500,
           plot_height=500,
           tools="xpan,hover,reset")



p1.line(range(len(samples)), samples[:,0])

p2.scatter(umap_results[:,0],umap_results[:,1])
c2 = p2.circle(umap_results[0,0],umap_results[0,1],fill_color='red',radius=0.2)


callback = CustomJS(args=dict(s=umap_source,c2=c2), code="""
        var geometry = cb_data['geometry'];
        var x_data = geometry.x; // current mouse x position in plot coordinates
        var u0 = s['data']['x'][Math.floor(x_data)];
        var u1 = s['data']['y'][Math.floor(x_data)];
        console.log("p=>" + x_data+":"+u0+","+u1); //monitors values in Javascript console
""")

gp = gridplot(children=[[p1], [p2]])
bk_plotting.show(gp)

enter image description here

Итак, цель - переместить перекрестие на верхнем графике , и он выделит точку на нижнем графике (который имеет тот же индекс, что и верхний график).

...