I need a framework/library which will enable me to develop a realtime interactive graph simulation. The user must be able to dynamically add nodes and edges. I have found Prefuse and its force directed layout and I really like it. But it is not fully thread-safe, and doesn't perform all that well -- maybe it has problems with big graphs?
Are there some decent alternatives? I know about Flare, but I have no desire to learn ActionScript and would rather stick with c++/java/c#.
The Fruchterman-Reingold layout is a force-directed layout algorithm which treats edges like springs that move vertexes closer or further from each other in an attempt to find an equilibrium that minimizes the energy of the system.
A Force-Directed Graph, or Force-Based Graph, is a type of layout commonly used in a variety of application areas: network visualization, large graph visualization, knowledge representation, system management, or mesh visualization. It is used to visualize the connections between objects in a network.
In their review, force-directed algorithms were categorised based on spring and electrical forces, barycenter method, forces simulating graphs theoretic distance, energy functions and magnetic fields.
The Force Atlas layout algorithm is a spatial layout algorithm for real-world networks, such as web networks. Web networks belong to a special class of networks that are known as small-world networks, otherwise known as scale-free networks.
yFiles is a good commercial library (Java, C#, ActionScript, Javascript versions available) for interactive graph visualization, that supports wide range of layouts, and has no problems showing very big graphs. You can test its capabilities quickly by trying yEd, which is based on yFiles.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With