58

I am in need of Java library for graphs that supports dynamic visualization. I need to have objects moving between the vertices and this has to be shown. 3D is not needed, a 2D representation will suffice.

I am currently using JUNG but it is very limited, it is more for static graphs from what I can tell.

I have looked at this question but JGraphT doesn't seem to do it either.


Late Edit:

I waited to finish the project before awarding an answer. I ended up keeping JUNG, while also using UBIGraph (dead project since 2012) as a secondary library.

hoijui
  • 3,615
  • 2
  • 33
  • 41
Iustin
  • 1,220
  • 1
  • 12
  • 17

6 Answers6

54

Take a look:

  • GEF - GUI components for graphical editing, including graphs, (Eclipse) SWT based
  • JGraphX - former JGraph, not actively developed since March 2020
  • Piccolo2D - (Eclipse) SWT based
  • JUNG - last released in 2010 (as of 2020); was very popular back then
  • yWorks - not open source, not free
  • JGraphT - data handling and algorithms only, no integrated visualizaiton, though supports JGraphX visualization
hoijui
  • 3,615
  • 2
  • 33
  • 41
evilone
  • 22,410
  • 7
  • 80
  • 107
20

Take a look at GraphStream, as shown from their demo video you can do some fancy stuff with graphs using their library.

Oubenal Mohcine
  • 491
  • 4
  • 8
4

Prefuse is pretty and powerful. The website is no longer there so here is an archived version

Sergei Kozelko
  • 691
  • 4
  • 17
Andreas Petersson
  • 16,248
  • 11
  • 59
  • 91
  • I used prefuse for a data visualization academic project, and it just works. – zengr May 28 '11 at 22:14
  • 9
    For anyone visiting the page now, I think the authors of Prefuse have stopped development and moved on to developing D3. It's been years since a new release of Prefuse has been out on the web. – Josh Bradley Jun 01 '12 at 21:25
  • too difficult. all the examples load data from files and there is no info how to create the data from code. – Shpytyack Artem Aug 31 '17 at 10:00
  • I think you put wrong link, or the site seem to change. Please update. It link to "Prefuse.org is our attempt at increasing awareness of data privacy and the issues with privacy online in today’s society. We hope that this website will: ......." – Haha TTpro May 02 '19 at 03:44
3

Have you had a look at Processing, or Processing.js? There are some amazing vis projects being made with this.

Not strictly Java, but easy to integrate within a Java environment, if I recall correctly.

Tommy O'Dell
  • 7,019
  • 13
  • 56
  • 69
2

You may also want to have a look at wilmascope (or its project page). I used it a few years ago after full research and was quite happy with it, but it has not been updated since 2004 (as of 2020).

hoijui
  • 3,615
  • 2
  • 33
  • 41
Macilias
  • 3,279
  • 2
  • 31
  • 43
2

Another option if feasible is to construct text file in graphviz dot format and process it using various tools provided. Mostly helpful for generate static images

See graphviz gallery for more details

enter image description here

Prashant Bhate
  • 10,907
  • 7
  • 47
  • 82