0

试图获得能够与节点分开挖掘边的 hv 图。就我而言 - 所有有意义的数据都绑定到边缘。

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 属性中的边缘标签信息去哪了?如何添加它?谢谢!

4

1 回答 1

0

我为每个链接创建了单独的数据框,然后按唯一的链接标签对其进行分组,并在每个组之间插入空行(边缘的两行 - 源和目标),就像在这种情况下:Pandas: Inserting a empty row after each数据框中的第二行

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)

并从 df 创建 hv.EdgesPaths:

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

TAP 和 HOVER 对我来说很好用。

于 2020-01-11T15:44:41.623 回答