Chart Construction Kit for the Java™ platform
The JCCKit is a small (< 100Kb)
library and a very flexible framework for creating scientific charts and plots.
JCCKit is written for the JDK™ 1.1.8 platform (except of a Graphics2D renderer).
Thus, it is suitable for scientific Applets and for PDA's running a PersonalJava™
JCCKit is an offspring of my lecture
The Art of Developing Scientific Java Applets held at the
University of Basel, Switzerland,
in the winter semester 2002/03. See lecture 12 and 13 which
explains the basic architecture of JCCKit.
Purpose and Features
The main purpose is to provide a flexible kit for writing applets
and application with the need for visualizing scientific data.
If you are looking for a lean scientific chart and plot library without all
the unwanted bells and whistles of the heavy competitors try JCCKit.
The key features of JCCKit are:
See the Examples page to get an impression of what
To learn more about JCCKit have a look into the User
- small (< 100Kb jar file)
- highly configurable due to a sophisticated configuration concept
- extensible (1/3 of all classes are interfaces or abstract classes.)
- automatic updating if data changes
- easy programming of dynamic charts and plots
- automatic rescaling if canvas size changes
- out-of-the-box applet for presenting static data on a web page without
needing knowledge of the Java™ programming language.
- automatically generates a legend
- logarithmic axes
- non-numerical tic labels
- different line styles, colors, and thicknesses
- different symbols
- different fonts, font styles, colors, and text orientations
- vertical and horizontal error bars
- vertical, horizontal, and stacked bar charts
- supported devices
- AWT Graphics context
- AWT Graphics2D context (needs Java™ 2 platform)
- Off-Screen image creation (need J2SE 1.4 or higher)
(see section 2.5 of
the User Guide)
- SVG (Scalable
All releases on the
- Compiled classes for immediate use.
- Source code.
- Complete content of the JCCKit Home Page including
- User Guide
- API documentation
This is a major release from 12/18/2004.
Double-buffering can be switched off to allow off-screen
- New example: Off-screen image creation
- Configuration Manual
This is a minor release from 9/11/2004.
Allow bars going into negative direction.
This is a final release from 3/21/2004.
- An annotation layer (with any kind of graphics or text) can
be added to a
with the method
- The coordinate system of a Plot instance can be
changed with the method
- A graphical marker object can be add to
setMarker(). It will be drawn on top of
the plot. Useful in the case of mouse interactions.
- Automatic tic calculation of linear AxisParameter
- The method connect() of PlotCanvas
and Plot no longer throws a NullPointerException
if fed with null. Thus a Plot instance
can be diconnected from a DataPlot just by connecting
it with null.
- Class jcckit.renderer.Transformation transformed
device independent coordinates incorrectly into
Java coordinates as observed in Microsofts Java VM.
- Creating double buffers in GraphicsPlotCanvas caused
exceptions if resized below zero.
This is a major release from 1/18/2004.
- The Renderer for SVGPlotter,
GraphicsPlotCanvas, and Graphics2DPlotCanvas
are generated by a Factory Method (see method
- Swing wrapper components for GraphicsPlotCanvas and
Graphics2DPlotCanvas (see method
- Non-numerical tic labels due to interface
TicLabelFormat and class
This is a major release from 5/3/2003.
- Removing methods insertAt and removeAt in Polygon, GraphicalComposite,
- AttributesHint and ShapeAttributesHint
- ConfigParameters with boolean type
- Changes in SimpleCurveFactory and SimpleCurve lead to different
- Plot.transform(): Backward transformation from DICS to DCS
- GraphicsPlotCanvas.mapCursorPosition(): Maps cursor position onto DICS
- GraphicsRenderer: Rotated text does not appear on black background
- Plot: curve generation: Now correct hint propagation is implemented
- more examples
- User Guide continued
This is a minor release from 4/23/2003.
- More powerful Format class: Now allows plain text before and
after format statement.
- Bug #726146: Legend
- Throw NullPointerException if a null is added to GraphicalComposite
This is the initial release from 4/12/2003.