Menu

Is JDigraph the correct tool?

2002-11-18
2004-07-16
  • Michael Welter

    Michael Welter - 2002-11-18

    I'm looking for a tool that will lay-out nodes and arcs on a page and then print the page.  I would like the layout so that nodes are not drawn on top of each other, arc lengths are minimized, and that arcs crossing are also minimized.  Is JDigraph the correct tool?

    Also, I'm looking for a starting point in JDiagraph, but I can't find a single class with a 'main' function.  Is there a test routine I can peruse?  Thanks.

     
    • Dave Walend

      Dave Walend - 2002-11-18

      Hi Mike,

      JDigraph isn't the correct tool for viewing directed graphs.

      JDigraph is a library kit to represent directed graphs analogus to the java collections kit's representation of sets, maps and lists.

      JDigraph would be a good place to start building such a tool. The general graph drawing problem is pretty challenging. If you're looking for an interesting PhD thesis with lots of chances to publish, general graph drawing is a great problem to work on.

      Most people take advantage of domain-specific knowledge to make drawing thier particular graph easier.

      JDigraph doesn't have a main() because it's a code library. The tests are all JUnit tests. Have a look at the source for net.walend.digraph.test.TestCEDigraphFactory for a good starting point.

      Hope that helps,

      Dave

       
    • Matthew Sandoz

      Matthew Sandoz - 2003-05-12

      Actually the correct tool is jzGraph, also hosted here on sourceforge. I have found it very amenable interfacing with other tools such as gnu.jpdf (for rendering to pdf) and jdepend (for isolating dependencies between java packages). In a general way it sounds as if there could be a match between jpdf and jzGraph as a rendering layer for this project.

       
    • Curt Cox

      Curt Cox - 2004-07-16

      I can't tell you if JDigraph is the correct tool, but I can tell you there are many similar packages.  Do a search on Source Forge for "Java graph" using require all.  Amongst the results, you will find about a half dozen projects for developing graph algorithms and data structures.  You can reduce the number of false hits by adding "theory" and "algorithm" to the search, but that will also eliminate projects that you probably consider relevant.

      For visualization, there is a really good summary of available offerings here:

      Open Source Graph or Network Visualization Written in Java
      http://www.manageability.org/blog/stuff/open-source-graph-network-visualization-in-java/view

       

Log in to post a comment.

MongoDB Logo MongoDB