簡體   English   中英

hvplot networkx節點名稱懸停

[英]hvplot networkx node names with hover

我正在使用hvplot(版本0.4.0)和networkx無向圖(networkx版本2.1)。 使用散景后端繪制圖形時,我希望懸停顯示節點名稱而不是“index:number”。

文檔中的所有在線示例都有“index:number”,我試圖將名稱傳遞給“標簽”kwargs,但這會導致錯誤:

DataError:提供的數據不包含指定的尺寸,未找到以下尺寸:

import networkx as nx
import hvplot.networkx as hvnx
import holoviews as hv
hv.extension('bokeh')
GG = nx.Graph()
GG.add_edge('A','B')
GG.add_edge('B','C')
GG.add_edge('C','A')
hvnx.draw(GG)

在此輸入圖像描述

循環通過GG對象,提供以下信息

for ii in GG.nodes():

    print(ii,type(ii))

A <class 'str'>
C <class 'str'>
B <class 'str'>

for ee in GG.edges():

    print(ee,type(ee))

('A', 'C') <class 'tuple'>
('A', 'B') <class 'tuple'>
('C', 'B') <class 'tuple'>

看起來你想要做的應該是默認行為,並且可能代表HoloViews中的一些回歸。 也就是說,實際的懸停指數數據實際上被添加到它沒有正確引用的圖中。 在您的示例中,您可以通過顯式聲明散景HoverTool來確保正確使用它:

from bokeh.models import HoverTool

GG = nx.Graph()
GG.add_edge('A','B')
GG.add_edge('B','C')
GG.add_edge('C','A')
hvnx.draw(GG).opts(tools=[HoverTool(tooltips=[('index', '@index_hover')])])

在此輸入圖像描述

我已經提交了一個問題來記錄這個回歸,你應該期望在holoviews 1.12.0中修復它。

我的解決方案

var selected_nodes = cb_data.source.selected["1d"].indices.map(function (selected_node_index) {
  return cb_data.source.data.index_hover[selected_node_index];
});


見cb_data.source.selected [“1d”]。indices

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM