Отдельный инструмент TAP и HOVER для Edges of hv.Graph. Данные описания края отсутствуют - PullRequest
0 голосов
/ 11 января 2020

Попытка получить график ВЧ с возможностью постукивания по краям отдельно от узлов. В моем случае - все значимые данные привязаны к ребрам.

gNodes = hv.Nodes((nodes_data.x,nodes_data.y, nodes_data.nid, nodes_data.name),\
                 vdims=['name'])

gGraph = hv.Graph(((edges_data.source, edges_data.target, edges_data.name),gNodes),vdims=['name'])

opts = dict(width=1200,height=800,xaxis=None,yaxis=None,bgcolor='black',show_grid=True)
gEdges = gGraph.edgepaths


tiles = gv.tile_sources.Wikipedia()
(tiles * gGraph.edgepaths * gGraph.nodes.opts(size=12)).opts(**opts)

Если я использую gGraph.edgepaths * gGraph.nodes - где информация о ребрах не отображается с помощью инструмента наведения. Политика проверки 'ребер' для hv.Graph не подходит для моей задачи, потому что нет единого выбора ребер. Куда пропала информация метки ребра в свойстве edgepaths? Как добавить это? Спасибо!

1 Ответ

0 голосов
/ 11 января 2020

Я создал отдельный фрейм данных для каждой ссылки, затем сгруппировал его по уникальной метке ссылки и вставил пустую строку между каждой группой (две строки для края - источника и цели), как в этом случае: Pandas: Вставка пустой строки после каждой второй строки во фрейм данных

emty_row = pd.Series(np.NaN,edges_data.columns)
insert_f = lambda d: d.append(emty_row, ignore_index=True)
edges_df = edges_test.groupby(by='name', group_keys=False).apply(insert_f).reset_index(drop=True)

и создание hv.EdgesPaths из df:

gPaths2= hv.EdgePaths(edges_df, kdims=['lon_conv_a','lat_conv_a'])

TAP и HOVER работают нормально .

...