python - Bokeh and Networkx - 显示多个箭头的悬停工具提示
问题描述
我一直在使用以下代码在散景中可视化networkx网络......
import networkx as nx
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from bokeh.plotting import figure, ColumnDataSource
from bokeh.models.sources import CDSView
from bokeh.io import show, output_notebook
from bokeh.models import Plot, Range1d, MultiLine, Circle, HoverTool, BoxZoomTool, ResetTool
from bokeh.models.graphs import from_networkx, NodesAndLinkedEdges, EdgesAndLinkedNodes, NodesOnly
from bokeh.palettes import *
V = [1,2,3,4,5,6]
E = [(1,2), (4,5), (2,3)]
G=nx.Graph()
G.add_nodes_from(V)
G.add_edges_from(E)
plot = figure(plot_width=500, plot_height=500,
x_range=Range1d(-1.1, 1.1), y_range=Range1d(-1.1, 1.1))
plot.title.text = "Networkx/Bokeh Example"
plot.axis.visible = None
plot.background_fill_color = "white"
plot.grid.grid_line_color = None
network_src = dict()
network_src['index'] = V
network_src['name'] = ['one', 'two', 'three', 'four', 'five', 'six']
network_src['size'] = [15,15,15,30,15,30]
network_src['node_cols'] = ['#2b83ba','#2b83ba','#2b83ba','#abdda4','#abdda4','#fdae61']
network_src = ColumnDataSource(network_src)
graph_renderer = from_networkx(G, nx.spring_layout, scale=1, center=(0, 0))
graph_renderer.node_renderer.glyph = Circle(size='size', fill_color='node_cols')
graph_renderer.node_renderer.data_source = network_src
graph_renderer.node_renderer.view = CDSView(source=network_src)
node_hover_tool = HoverTool(tooltips=[("Name", "@name")])
plot.add_tools(node_hover_tool)
plot.renderers.append(graph_renderer)
output_notebook()
show(plot)
这很好用,但是当我将鼠标悬停在某些节点上时,它会在框周围显示多个箭头。我读过这是因为它试图将悬停工具提示分配给边缘和节点渲染器......但我试图修复它并且似乎找不到正确的解决方案。请帮忙!谢谢。
解决方案
看起来像一个错误。请在这里报告。现在你可以使用:
node_hover_tool = HoverTool(tooltips = [("Name", "@name")], show_arrow = False)
推荐阅读
- jquery - 根据按下的链接显示特定类别 | Ruby on Rails
- jquery - 元素父级的未定义 nextElementSibling
- angular - 角度 6 中的异步 authguard
- r - 在R中,如果矩阵按行选择第一个元素,如果向量选择第一个元素
- r - 如何在 R 中计算纵向患者研究中的受试者?
- c++ - Bison,在 C++ 中与 flex 交互
- python-3.x - 需要帮助使用 OpenCV 从手头皮肤上遮盖面部皮肤
- android - Firestore (Android) 中的范围查询时间戳
- javascript - Mapbox queryRenderedFeatures on load
- php - 如何为动态 sql 语句制作准备好的 mysqli 语句