Packages

There were several programming packages that we considered for this project. The top choices were:

TouchGraph

  • Java
  • Open Source
  • Well Commented Code
  • Directed/Undirected Graphs
  • Customizable Shapes and Colors for Nodes
  • Adjustable Spring Settings

GraphViz

  • C and C++
  • Open Source
  • Good Documentation
  • Customizable Layouts, Colors, Shapes and Fonts
  • Directed/Undirected Graphs

JUNG (Java Universal Network/Graph Framework)

  • Java
  • Open Source
  • Good Documentation, API
  • Directed/Undirected Graphs
  • Customizable Spring Settings
  • Customizable Layouts, Shapes, Colors, Sizes
  • Algorithms for Clustering and Filtering
  • Well Commented Code
  • Easy to Read

Prefuse

  • Java
  • Open Source
  • Uses 2D Graphics Library
  • Good Commenting
  • Algorithms for Filtering

Weka

  • Java
  • Machine Learning Algorithms
  • WekaUT with PCKMeans and MPCKMeans
  • Handy data storage
  • Well Commented Code
  • Well Documented Code

In the end, we decided to go with Prefuse, since it provided the easiest access to changing the visual attributes, and also since it had a smoother-looking product. Since we were going to use different clustering methods anyway, we figured that we'd go with what looked nice! In addition, we are implementing Weka/WekaUT to handle the clustering algorithms.