最近学习用Bokeh库来开发web可视化应用,发现Bokeh真是一个强大的工具,但是在绘制复杂网络时遇到了一个问题,就是在web交互界面调整参数图却没有变化,一直都是最开始的图。
以下是一个简单实例,就是绘制一个节点数量可调的BA网络,在Web页面调整节点数量得到不同BA网络,代码如下:
import networkx as nx
from bokeh.io import curdoc
from bokeh.layouts import column, row
from bokeh.models import (BoxZoomTool, Circle, HoverTool,
MultiLine, Plot, Range1d, ResetTool, Slider)
from bokeh.palettes import Spectral4
from bokeh.plotting import from_networkx
def make_plot(G):
plot = Plot(plot_width=800, plot_height=800,
x_range=Range1d(-1.1, 1.1), y_range=Range1d(-1.1, 1.1))
plot.title.text = "Barabasi Albert Graph"
# node_hover_tool = HoverTool(tooltips=[("index", "@index"), ("club", "@club")])
plot.add_tools(HoverTool(), BoxZoomTool(), ResetTool())
graph_renderer = from_networkx(G, nx.spring_layout, scale=1, center=(0,