Version 0.94 Released
JOpenChart 0.94 has taken a while, a bit longer than planned actually,
due to university, exams and annoying things like that. But here it is
and it brings features with it:
- Now renders stacked bar charts and radar charts.
- Fully automatic, and good looking, margin adaption. No more cut-off labels.
- Add data models with differently sized data sets.
- Support for editable data models, enabling real time updated GUI charts, see GraphFrame.java as an example and the TestGUI ant target.
- Now allows manually setting of maximum and minimum x- and y-values, allowing for zooming.
- JDBCPlotter.java allows plotting of SQL query results.
- Various options for controlling rendering style, esp. of bar charts and coordinate systems, see FunctionPlotApplet.java and always TestChart.java.
- e.g Setting the axis units
- and displaying sums on top of bars etc.
- Choose preset shapes and arbitrary colors for your data sets and plot charts, easily implement your own shapes
- RowColorModel is not a singleton instance anymore
- I externalized the ChartDataModelConstraints class, you can provide your own implementation or extend the existing ones. See StackedChartDataModelConstraints as an example.
- Web archive (war file) now supports Tomcat 3.x and 4.x.
JOpenChart is a free Java Toolkit
and library for embedding charts into different kinds of applications, no matter
if they are server side, desktop or web applications.
Commercial solutions are
pretty expensive and at the time I started working on JOpenChart, there was no satisfying
open source solution available.
Currently, the library provides all the functionality to draw different kinds of
charts, like line, bar, pie and plot charts. Additionally, the class structure includes the necessary
classes for the encapsulation of sets of data and the classes for all parts
of a typical chart, like a coordinate system, coordinate axes, legends, title
and chart renderers. I put great effort into a good design, ie understandable, logical
class structures, elegant interfaces, use of abstract classes etc. The library is easily
extendable to provide your own functionalities. This is best illustrated by noting, that all
the Renderer classes, which paint the charts, have about 150 - 200 lines of code. That's pretty easy,
Furthermore, a few more or less proof-of-concept classes are finished that demonstrate
how to embed charts into web applications or Swing applications using Servlets
or a JComponent respectively.
Included or planned functionalities of the library and the toolkit:
- rendering of pie charts, line charts, bar charts and plot charts
- easy extensibility using a simple Renderer interface API
- linear and logarithmic y-axis
- different data model classes for implementing numerical data sets,
data sets with non-numerical x-axis values, dynamic data sets for
displaying incoming measured data, SQL database query results.
- polynomial and spline interpolation of data sets and linear regression of measured data
- binding data sets to one of two y-axes with different scales
- plotting of mathematical functions given as String parameters
- exporting diagrams as image files at least using PNG or JPEG compression and whatever encoding
the Java Advanced Imaging Library supports
- Servlet Toolkit for the easy inclusion of charts into web applications
- Swing components to integrate charts in Swing applications