Серверному приложению Bokeh требуется обратный вызов для изменения элемента Geoviews в оверлее Holoviews - PullRequest
0 голосов
/ 09 марта 2019

У меня есть серверное приложение Bokeh, работающее на Tornado 4.5.3, которое включает в себя следующее:

  • Точки Bokeh с инструментами, включая лассо:

    p = figure(min_border_left=50, plot_height = 300, plot_width = 300, tools='pan, box_zoom, wheel_zoom, reset, undo, redo, save, lasso_select')

  • Контейнер holoviews с картой WMTS и полигонами Geoviews:

    plot = EsriImagery.options(width=800, height=400) * gv.Polygons(pddf, vdims=['time', 'dttime']).redim.range(Longitude=(-130,-70)) * gv.Points(locations[where][0][0], locations[where][0][1], where, fontsize=50)

  • Настраиваемый обратный вызов JJ, который регистрирует строки данных из newdict, которые вы выбрали при лассо-точках (благодаря этот вопрос SO ):

    newdict.callback = CustomJS(args = dict(source=newdict), code = """ console.log( '#Selected rows:'); var indices = source.selected["1d"].indices; for (var i = 0; i<indices.length; i++){ console.log(i+":"+indices[i]); } """)

Отсутствующий фрагмент: Я хотел бы, чтобы переменные времени строк с лассо сообщали, какие полигоны показаны (у pddf Pandas DataFrame также есть переменная времени). Текст должен оставаться вверху, а карта внизу (между ними многоугольники). Это возможно? Любая помощь будет принята с благодарностью.

Единственный способ, которым я смог получить и точечные графики, и карту полигонов для отображения в одном и том же приложении, это визуализация первого с использованием curdoc.add_root(layout(grid, data_table, dropdown)) (grid - это объект gridplot, data_table a bokeh DataTable) и последний с doc = hv.renderer('bokeh').server_doc(plot). Я очень открыт для предложений по этому вопросу! Я полагаю, что мою проблему с обратным вызовом было бы намного проще решить, если бы оба графика отображались одним и тем же методом.

Я пытался использовать CDSview, но полигоны geoviews не могут принять объект ColumnDataSource в качестве данных.

Я использую Bokeh 0.13.0, Python 3.6.7, Holoviews 1.10.7 и Geoviews 1.5.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...