【问题标题】:What should I use to include interactive graph visualization in a python GUI?我应该使用什么来在 python GUI 中包含交互式图形可视化?
【发布时间】:2022-04-05 00:09:14
【问题描述】:
我想为我正在编写的程序制作一个 GUI,并且我希望该程序具有交互式图形(此处的图形表示节点和边的网络)。我希望用户使用 GUI 来创建节点并更改它们的属性,并在图形上运行计算(使用我编写的代码)。我还希望不同的节点集群在您单击它们时可以展开和折叠,或者可能会将您带到另一个窗口,您可以在其中看到节点子结构。如果单击节点也可以让您更改其属性,那也很好。任何有关如何使用它的建议将不胜感激。
【问题讨论】:
标签:
python
user-interface
data-visualization
【解决方案1】:
没有任何适用于 Python 的程序/库可以让你做任何你想做的事情。
您可以查看这些库:
-
bokeh:
- 具有良好的交互式可视化效果
- 基于 D3.js 构建
- 它只是一个可视化库,因此几乎没有工具来操作图表
-
networkx:
- 大量不同的算法
- 具有相当不错的非交互式可视化效果
- 纯 Python 编写,速度相当慢
-
igraph:
- 拥有大量算法
- 核心是用 C 语言编写的,所以速度非常快
- 具有平均非交互式可视化效果
Python 没有可以让您在交互式 GUI 中创建节点和操作图形的稳定流行库。你想要的东西需要非常复杂的软件,而 Python 没有这个软件。
但是有一个好消息 - 您需要的大多数事情都可以使用Gephi 软件(用 Java 编写)来完成。您也可以查看Cytoscape 软件 - 也许它比 Gephi 更适合您。