使用NetworkX可视化从系统到系统的数据流。这是很好的工作,但可视化似乎有点不光彩,此外,我想与网络互动,做的事情,如删除节点或“检查”节点。我也尝试过一些工具,比如Power和Gephi,但它们都有问题。
有哪些BI工具/Python库等可以有效地可视化有向网络图并与之交互?
发布于 2019-10-21 12:24:28
您有两个应该分开处理的问题:可视化和交互性。
Visualization:
NetworkX有一些工具可以有效地可视化层次图。他们正在使用墨维兹库和比格维兹/比多接口。下面是一个例子:
import networkx as nx
# Create the hierarchical graph (DAG)
G = nx.fast_gnp_random_graph(70, 0.02)
G.remove_edges_from([(x, y) for (x, y) in G.edges if x > y])
G = nx.subgraph(G, max(nx.connected_components(G), key=lambda x: len(x)))# Draw it with default function
nx.draw(G, node_size=50)

# Draw it with graphviz_layout
nx.draw(G, node_size=50, pos=nx.nx_agraph.graphviz_layout(G, prog='dot'))

如果您想用Graphviz本身可视化您的图形,您可以将其转换为DOT文件并在稍后使用Graphviz的全部功能。
您还可以使用Javascript库(如Bokeh或D3.js )以稍微更具交互性的方式绘制NetworkX图(您可以交互地选择节点、突出显示这些库中的边缘以及其他一些东西)。
Interactivity:
这个问题比可视化问题要复杂得多。Python没有稳定的流行库/程序,可以在交互式GUI中操作图形。交互性需要非常复杂的软件,而Python只是没有它。
最适合您的软件是:
https://stackoverflow.com/questions/58485520
复制相似问题