Coat Graph Visualization

Coat is a compact realtime 2D graph visualization package for Java under GPL.

While there are many graph visualization toolkits out there (e.g. JFreeChart, SGT), few are able to update their data in an efficient near-realtime manner. This is the niche Coat wants to fill for you. If you want to draw static (i.e. non-moving) graphs, other (probably more feature-rich) packages may be more fitting for you.

The major strengths of Coat are its simplicistic compactness (5 interfaces, 10 core classes, 8 UI classes), its graphics abstraction model (all UI classes are either Swing or JOGL specific and interchangable), speed (render only as much as you need), and good code structure and comments (including my thoughts during programming).

Its major weakness is probably a lack of advanced visualization methods. All the library basically does is drawing points, lines and bars, but this in an elaborate and highly dynamic way. Coat being GPL I don't need to bind my customers here. ^_^


  • 100% Java (tested JDK 1.4 under Linux, MacOS X and Windows)
  • GPL'd (use at your will, but give me credit, and open-source your stuff too)
  • Lines: width, color, style (solid, dot, dashed, dot-dashed, dot-dot-dashed), marks appropriate to line width
  • Points: shape (rectangle, circle, triangle), diameter, color, optional label (font, textsize, position)
  • Bars: width, color, optional label (font, textsize, position)
  • Graphs: stacked, square-distributed, overlay
  • Line legend: can unite in overlay mode
  • Zooming and scrolling
  • Linear or logarithmic scaling (and appropriate axis)
  • Greek characters in Latex format
  • Compact size (23 classes) allows for easy code ripping (allowed through GPL)
  • OpenGL support through JOGL

Not There

  • Scientific units
  • X vs. Y scaling with fixed ratio
  • Tons of printing support
Coat demo, stacked graphs