Java Universal Network/Graph Framework

- Overview
- Download
- Documentation
- Examples
- Wiki
- FAQ
- Support
- Team
- Presentations
- Bug Tracker
- Sourceforge
- Acknowledgements

All examples require JDK 1.4.x or better; ensure you have a recent Java plugin installed.

Note: If you have installed a new JRE version over an old one, make sure you update your plug-in settings so that your browser uses the correct JRE. In Windows XP/NT/2k/9x, go to Start→Control Panel→Java Plug-in→Advanced and choose the latest version of the JRE from the drop-down list.

`PluggableRenderer`

Demo
This example shows off many of the capabilities of

`PluggableRenderer`

, a renderer implementation that is designed to
allow the programmer to change a number of different properties of the rendering
of vertices and edges. The source code (in `samples.graph`

) is also intended to serve as an example of different ways to program using
`PluggableRenderer`

.
Hyperbolic Lens Demo

Demonstrates hyperbolic transformations of the network visualization, via a "lens" effect. Also shows the difference between model (layout) scaling and view scaling.

Clustering Demo Applet

This example demonstrates the ability to perform clustering on graphs, interactively in JUNG. The data set being used here is the Zachary karate club data set, the clustering algorithm being used is Mark Newman's edge betweenness clustering algorithm, and the layout algorithm is Fruchterman-Reingold.

Bipartite Graph Applet This page demonstrates JUNG's ability to create bipartite graphs, to fold them into single-mode graphs, and to interactively visualize user changes to the data. It uses Davis, Gardner, and Garder's dataset from their 1941

Shortest Path Applet This demonstrates the shortest path algorithms in JUNG. When a user selects two vertices, the system chooses one shortest path between those two vertices and colors it. The graph is randomly generated by the EppsteinPowerLawGenerator.

Ranking Demo Applet This demonstrates several ranking algorithms within JUNG. The vertices are laid out with the Fruchterman-Reingold layout. It is possible to

Layout Demo Applet This applet demonstrates a series of different layout algorithms with the same renderers:

**KKLayout**- The Kamada-Kawai algorithm for node layout**FRLayout**- The Fruchterman-Reingold algorithm**SpringLayout**- A simple force-directed spring-embedder**ISOMLayout**- Meyer's "Self-Organizing Map" layout.**CircleLayout**- A simple layout places vertices randomly on a circle

Add-a-Node Demo Applet This applet shows an example in which nodes are gradually added one-at-a-time to a display.

Crooked Edge Demo Applet This applet previews support for edges that are