[英]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];
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.