'What should I use to include interactive graph visualization in a python GUI?
I want to make a GUI for a program I am writing, and I would like the program to have an interactive graph (graph here meaning a network of nodes and edges). I would like users to use the GUI to create nodes and alter their properties, and run calculations on the graph (with the code I have written). I also want different clusters of nodes to be expandable and collapsible when you click on them, or maybe take you to a different window where you can see node substructure. It would also be nice if clicking on a node also let you alter its properties. Any recommendations on how to use this would be greatly appreciated.
Solution 1:[1]
There is no programs/libraries for Python that allow you to do everything you want.
You can check these libraries:
- bokeh:
- Has good interactive visualizations
- Built on top of D3.js
- It is only visualization library so it has nearly no tools to manipulate the graph
- networkx:
- Incredibly large amount of different algorithms
- Has pretty good non-interactive visualization
- Pure Python-written so rather slow
- igraph:
- Has good amount of algorithms
- The core is written on C so it is really fast
- Has an average non-interactive visualization
Python has no stable popular libraries that can allow you to create nodes and manipulate the graph in the interactive GUI. Things you want need very complex software and Python just has no this software.
But there is good news - most things you need can be done with Gephi software (written on Java). You can also check Cytoscape software - maybe it can fit you a bit more than Gephi.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | vurmux |
