Home | History | Annotate | Download | only in jfreechart
      1 *******************************
      2 *  JFREECHART: Version 1.0.8  *
      3 *******************************
      4 
      5 23 November 2007
      6 
      7 (C)opyright 2000-2007, by Object Refinery Limited and Contributors.
      8 
      9 -----------------
     10 1.  INTRODUCTION
     11 -----------------
     12 JFreeChart is a free chart library for the Java(tm) platform.  It runs 
     13 on the Java 2 Platform (JDK 1.3 or later) and uses the Java 2D API for 
     14 drawing.
     15 
     16 JFreeChart is licensed under the terms of the GNU Lesser General
     17 Public Licence (LGPL).  A copy of the licence is included in the
     18 distribution.
     19 
     20 Please note that JFreeChart is distributed WITHOUT ANY WARRANTY;
     21 without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
     22 PARTICULAR PURPOSE.  Please refer to the licence for details.
     23 
     24 -------------------
     25 2.  LATEST VERSION
     26 -------------------
     27 The latest version of this class library can be obtained from:
     28 
     29     http://www.jfree.org/jfreechart/
     30 
     31 If you have an comments, suggestions or bugs to report, please post a
     32 message in the JFreeChart forum.
     33 
     34 -----------------
     35 3.  DOCUMENTATION
     36 -----------------
     37 You can download installation instructions
     38 (jfreechart-1.0.8-install.pdf) from the JFreeChart home
     39 page or the project page on SourceForge.
     40 
     41 Further documentation for JFreeChart (the JFreeChart Developer Guide) is
     42 available to purchase from by Object Refinery Limited, a company owned and
     43 operated by David Gilbert (the original author of JFreeChart).  For more
     44 information, please see:
     45 
     46     http://www.object-refinery.com/jfreechart/guide.html
     47 
     48 Sales of the JFreeChart Developer Guide are an important source of funding for
     49 the project.  Please help us to continue developing free software.
     50 
     51 API documentation files in HTML format are available on-line.  If you wish 
     52 to keep a local copy of the API files, you can regenerate them directly
     53 from the source code.  You can do this using the 'javadoc' or 'gjdoc' 
     54 utilities directly, or with the Ant script (build.xml) included in the
     55 distribution.
     56 
     57 -----------------
     58 4.  DEPENDENCIES
     59 -----------------
     60 JFreeChart has the following dependencies:
     61 
     62 (a)  JDK 1.3.1 or higher - JFreeChart requires the Java2D and Collections
     63 APIs, so it definitely won't work with JDK 1.1 (with a small amount of effort
     64 you can get it to compile and run with JDK 1.2).  If you are using JFreeChart 
     65 to create applets, this means that you cannot rely on the JVM integrated with
     66 Microsoft's Internet Explorer - your users will need to have the Java 2
     67 plug-in installed.  Most other browsers (e.g. Firefox, Mozilla, Netscape, 
     68 Konqueror) support JRE 1.4, 1.5 or 1.6.
     69 
     70 (b)  JCommon - version 1.0.0 or later.  The runtime jar file (version 1.0.12) 
     71 is included in the JFreeChart distribution.  You can obtain the complete
     72 source code for JCommon from:
     73 
     74     http://www.jfree.org/jcommon/
     75 
     76 JCommon is licensed under the terms of the GNU Lesser General Public Licence.
     77 
     78 (c)  GNU JAXP (JDK 1.3 only) - a free implementation of the standard XML 
     79 processing APIs for Java.
     80 
     81     http://www.gnu.org/software/classpathx/jaxp/
     82 
     83 Classes in the org.jfree.data.xml package require this library, or
     84 another JAXP v1.1 compliant parser.  The gnujaxp.jar file (from the
     85 gnujaxp-1.0beta1.zip distribution) is included with JFreeChart.  GNU
     86 JAXP is licensed under the terms of the GNU General Public License
     87 with an additional library exception.
     88 
     89 THIS LIBRARY IS ONLY REQUIRED BY JFREECHART IF YOU ARE USING JDK 1.3.
     90 
     91 (d)  servlet.jar - classes in the org.jfree.chart.servlet
     92 package require this file.  The JFreeChart distribution includes the 
     93 servlet.jar file distributed with Tomcat 4.1.31.  Applicable license 
     94 terms are published at:  
     95 
     96     http://java.sun.com/products/servlet/LICENSE   
     97 
     98 (e)  JUnit - a unit testing framework (the junit.jar runtime file is
     99 included in the distribution).  JUnit is licensed under the terms
    100 of the IBM Common Public License.  You can find out more about JUnit
    101 and/or download the latest version from:
    102 
    103     http://www.junit.org
    104 
    105 The JUnit tests included with JFreeChart have been created using JUnit
    106 4.3.1.
    107 
    108 -----------
    109 5.  SUPPORT
    110 -----------
    111 Support questions can be posted in the free support forum at
    112 
    113     http://www.jfree.org/phpBB2/viewforum.php?f=3
    114     
    115 We read all questions posted in the forum, and respond to as many as we can
    116 in the time available.  Unfortunately, there are too many questions to answer
    117 them all.
    118     
    119 If you need commercial support for JFreeChart, this is offered by
    120 Object Refinery Limited:
    121 
    122     http://www.object-refinery.com/jfreechart/support.html
    123 
    124 --------------------
    125 6.  ANT BUILD SCRIPT
    126 --------------------
    127 An Ant build script (build.xml) is included in the distribution.  This
    128 is the same script that is used to create the JFreeChart distribution.
    129 
    130 For more information about Ant:
    131 
    132     http://ant.apache.org/
    133 
    134 Please note that you will need to obtain the servlet.jar file (see the
    135 DEPENDENCIES section above) before running the Ant script.
    136 
    137 ------------------------
    138 7.  THE DEMO APPLICATION
    139 ------------------------
    140 A demo application that shows a selection of the charts that can be
    141 generated is included in the JFreeChart distribution.   To run the
    142 demo (using JDK 1.3.1 or later), use the following command:
    143 
    144     java -jar jfreechart-1.0.8-demo.jar
    145 
    146 The complete source code for the demo application is available for
    147 download when you purchase the JFreeChart Developer Guide.
    148 
    149 The demo application uses iText, a library for creating PDF documents.
    150 iText is licensed under the terms of the GNU Lesser General Public Licence
    151 and is available to download from:
    152 
    153     http://www.lowagie.com/iText/
    154 
    155 ---------------
    156 8.  LIMITATIONS
    157 ---------------
    158 JFreeChart has some known limitations that will hopefully be addressed in 
    159 the future:
    160 
    161     - with the XYPlot class, when the bounds of the range axis are calculated
    162       automatically, all of the data is used, not just the subset that is 
    163       visible on the chart;
    164     - some renderers do not respect the series visibility flags yet;
    165     - the chart property editors (accessible by right-clicking on the chart
    166       panel) are horribly out of date and probably shouldn't be used;
    167     - item labels (if displayed) are not taken into account for the 
    168       automatically calculated axis range.  As a workaround, you can increase
    169       the axis margins;
    170     - tick labels on a DateAxis that uses a SegmentedTimeline can be 
    171       problematic;
    172     - there is no support for writing charts to JPEG format on JDK 1.3.  JPEG 
    173       is not a good format for charts in any case, and it is usually better to 
    174       use PNG format.
    175     
    176 If there are other items that you think should be listed here,
    177 please post a bug report.
    178 
    179 -----------------
    180 9.  GNU CLASSPATH
    181 -----------------
    182 GNU Classpath is a project to create a free, clean-room implementation of the
    183 standard Java(tm) class libraries:
    184 
    185 http://www.gnu.org/software/classpath/
    186 
    187 JFreeChart should work quite well with free runtimes based on 
    188 GNU Classpath 0.92 or later.  We are grateful to all the GNU Classpath 
    189 developers that have made this possible.
    190 
    191 ---------------
    192 10.  WHAT's NEW
    193 ---------------
    194 A list of changes in recent versions:
    195 
    196 1.0.8 : (23-Nov-2007)
    197         - primarily a bug fix release.  See the NEWS and ChangeLog files for a 
    198           more detailed description of the changes in this release.
    199 
    200 1.0.7 : (14-Nov-2007)
    201         - See the NEWS and ChangeLog files for a more detailed description of 
    202           the changes in this release.
    203 
    204 1.0.6 : (15-Jun-2007) 
    205         - the VectorRenderer and associated dataset classes have been promoted
    206           to the standard API from the 'experimental' source tree.  See the
    207           NEWS and ChangeLog files for a more detailed description of the 
    208           changes in this release.
    209           
    210 1.0.5 : (23-Mar-2007) 
    211         - this release contains a new DeviationRenderer, enhancements to a 
    212           number of existing classes and numerous bug fixes, see the NEWS 
    213           and ChangeLog files for details.
    214 
    215 1.0.4 : (9-Feb-2007)
    216         - this release contains both new features and bug fixes, see the NEWS 
    217           and ChangeLog files for details.
    218 
    219 1.0.3 : (17-Nov-2006) 
    220         - this release contains a new DialPlot class (in 'experimental') that
    221           will hopefully replace the MeterPlot class, once the API has been
    222           polished a little, plus many other new features and bug fixes.  See
    223           the NEWS and ChangeLog files for details.
    224 
    225 1.0.2 : (25-Aug-2006)
    226         - this release contains both new features and bug fixes, see the NEWS 
    227           and ChangeLog files for details.
    228 
    229 1.0.1 : (27-Jan-2006)
    230         - primarily a bug fix release, see the NEWS and ChangeLog files for
    231           details.
    232 
    233 1.0.0 : (2-Dec-2005)
    234         - the first stable release of the JFreeChart class library, all future
    235           releases in the 1.0.x series will aim to maintain backward 
    236           compatibility with this release;
    237         - see the ChangeLog file for a detailed list of changes.
    238 
    239 1.0.0-rc3 : (28-Nov-2005)
    240         - the third "release candidate" for version 1.0.0, this release
    241           fixes some issues with the 1.0.0-rc2 release (mainly concerning
    242           packaging of resource bundles for localisation).  
    243         - if no significant problems are reported in the next few days,
    244           the 1.0.0 "final" release will be posted on 2-Dec-2005.
    245 
    246 1.0.0-rc2 : (25-Nov-2005)
    247             - the second "release candidate" for version 1.0.0.  If no problems
    248               are reported, 1.0.0 "final" will be released on 2-Dec-2005.
    249             - see the ChangeLog file for a detailed list of changes in this 
    250               release.
    251 
    252 1.0.0-rc1 : (2-Jun-2005)
    253             - this is a "release candidate" for version 1.0.0.  If no 
    254               significant API problems are reported, this release will be 
    255               re-released as version 1.0.0. 
    256             - see CHANGELOG.txt for further details.
    257 
    258 1.0.0-pre2 : (10-Mar-2005)
    259          - see CHANGELOG.txt for further details.
    260 
    261 1.0.0-pre1 : (29-Nov-2004)
    262          - see CHANGELOG.txt for further details.
    263  
    264 0.9.21 : (9-Sep-2004) 
    265          - added new axes: PeriodAxis and ModuloAxis.
    266          - split org.jfree.data and org.jfree.chart.renderer into
    267            subpackages for 'category' and 'xy' charts.
    268          - Sun PNG encoder is now used, if available.
    269          - a new demo application makes it easier to preview the 
    270            chart types that JFreeChart can create.
    271          - added a new series visibility flag to the AbstractRenderer
    272            class.
    273          - added support for GradientPaint in interval markers.
    274          - see CHANGELOG.txt for further details.
    275          
    276 0.9.20 : (7-Jun-2004) 
    277          - primarily bug fixes, see CHANGELOG.txt for further details.
    278 
    279 0.9.19 : (28-May-2004)
    280          - added methods to XYDataset that return double primitives;
    281          - removed distinction between "primary" and "secondary" datasets,
    282            renderers and axes;
    283          - added fixed legend item options to CategoryPlot and XYPlot;
    284          - legend changes by Barek Naveh;
    285          - removed Log4j dependency;
    286          - many, many bug fixes;
    287          - see CHANGELOG.txt for further details.
    288 
    289 0.9.18 : (15-Apr-2004)
    290          - new legend anchor options;
    291          - fixed broken JPEG export;
    292          - fixed title size problems;
    293          - various other bug fixes;
    294 
    295 0.9.17 : (26-Mar-2004)
    296          - pie chart enhancements for labelling, shading and multiple pie
    297            charts (2D or 3D) on a single plot;
    298          - new PolarPlot class added;
    299          - XYSeries can now be sorted or unsorted;
    300          - createBufferedImage() method can now scale charts;
    301          - domain and range markers now support intervals;
    302          - item labels are now supported by some XYItemRenderers;
    303          - tooltip and item label generators now use MessageFormat class;
    304          - added new XYBarDataset class;
    305          - added transparency support to PNG export;
    306          - numerous other small enhancements and bug fixes, see the
    307            CHANGELOG.txt file for more details;
    308 
    309 0.9.16 : (09-Jan-2004)
    310          - this release contains bug fixes and some minor feature
    311            enhancements (title and category label wrapping, legend shape
    312            scaling, enhanced performance for the DefaultTableXYDataset class);
    313          - added Spanish localisation files;
    314 
    315 0.9.15 : (28-Nov-2003)
    316          - the focus of this release is bug fixes - quite a number of issues
    317            have been resolved, please check the bug database for details;
    318          - added a new Wafer Map chart type;
    319          - added a cyclic axis;
    320          - added localisation files for _ru;
    321 
    322 0.9.14 : (17-Nov-2003) 
    323          - implemented zooming for the FastScatterPlot class;
    324          - added item label support for stacked bar charts, and new fall back
    325            options for item labels that don't fit within bars;
    326          - modified the CategoryAxis class to allow additional options for the
    327            alignment and rotation of category labels;
    328          - addition of the AxisState class, used in the drawing of axes to
    329            eliminate a bug when multiple threads draw the same axis
    330            simultaneously;
    331          - provided additional attributes in the DateTickUnit class to improve
    332            labelling on a segmented DateAxis;
    333          - added support for GradientPaint in bar charts;
    334          - updated the PNGEncoder;
    335          - fixes for tick label positioning on axes;
    336          - various Javadoc updates;
    337          - numerous bug fixes;
    338 
    339 0.9.13 : (26-Sep-2003)
    340          - various enhancements to the stacked area XY charts;
    341          - added a completion indicator for the Gantt chart;
    342          - range and domain markers can now be placed in the foreground or the
    343            background;
    344          - more fixes for cloning and serialization;
    345          - fixed mouse event bug for combined charts;
    346          - fixed bugs in the PngEncoder class;
    347          - incorporated .properties files that were missing from the 0.9.12
    348            distribution;
    349 
    350 0.9.12 : (11-Sep-2003)
    351          - extended box-and-whisker plots to work with the CategoryPlot	class
    352            as well as the XYPlot class (based on work by David Browning);
    353          - added a new LayeredBarRenderer (by Arnaud Lelievre);
    354          - added support for stacked area charts with the XYPlot class (thanks
    355            to Richard Atkinson);
    356          - improved HTML image map support (thanks to Richard Atkinson);
    357          - added localized resources for the chart property editors (thanks to
    358            Arnaud Lelievre).  Current translations include French and Portugese
    359            (thanks to Eduardo Ramalho);
    360          - added facility for setting all rendering hints;
    361          - improved support for cloning and serialization;
    362          - fixed a bug in the XYSeries class that prevented the TableXYDataset
    363            from functioning correctly;
    364          - improved date axis labelling with segmented time lines;
    365          - fixed several bugs in the secondary dataset/axis/renderer code;
    366          - fixed bugs in the JDBCCategoryDataset class;
    367          - numerous other bug fixes;
    368 
    369 0.9.11 : (8-Aug-2003)
    370          - added support for box-and-whisker plots, thanks to David Browning;
    371          - lots of bug fixes;
    372 
    373 API changes in this release are minimal and have been implemented using
    374 deprecation, so code written against 0.9.10 should recompile.
    375 
    376 0.9.10 : (25-Jul-2003) 
    377          - added support for multiple secondary axes, datasets and
    378            renderers;
    379          - minor feature enhancements and bug fixes;
    380 
    381 0.9.9 : (10-Jul-2003) PLEASE NOTE THAT MAJOR CHANGES HAVE BEEN MADE IN THIS
    382 RELEASE AND ONE OR TWO FEATURES MAY BE BROKEN.  PLEASE REPORT BUGS SO THEY CAN
    383 BE FIXED FOR THE NEXT RELEASE.
    384 
    385         - merged the HorizontalCategoryPlot and VerticalCategoryPlot classes,
    386           into the CategoryPlot class;
    387         - merged the horizontal and vertical axis classes;
    388         - merged the horizontal and vertical renderer classes;
    389         - CategoryPlot and XYPlot now support both horizontal and vertical
    390           orientation via the setOrientation(...) method;
    391         - merged horizontal and vertical methods in the ChartFactory class;
    392         - created new combined plot classes: CombinedDomainCategoryPlot,
    393           CombinedRangeCategoryPlot, CombinedDomainXYPlot and
    394           CombinedRangeXYPlot (these can all be drawn with a horizontal or
    395           vertical orientation);
    396         - Bill Kelemen has enhanced the DateAxis class to handle segmented
    397           timelines.  This can be used, for example, to skip weekends for
    398           daily stock price charts;
    399         - Richard Atkinson has updated the ServletUtilities class;
    400         - Bryan Scott has added an XYDatasetTableModel class for presenting
    401           datasets in a JTable;
    402         - modified XYPlot to allow renderers to use multiple passes through
    403           the dataset;
    404         - added new XYDifferenceRenderer;
    405         - added support for colored bands between gridlines in XYPlot;
    406         - added new XYDrawableAnnotation class;
    407         - added a new attribute to control the order of dataset rendering in 
    408           a CategoryPlot;
    409         - extended the value label mechanism for the renderers, to allow
    410           better (per series) control over label generation, positioning and
    411           visibility;
    412         - CategoryItemTooltipGenerator has been renamed
    413           CategoryItemLabelGenerator, since it is now being used to generated
    414           item labels as well as tooltips;
    415         - there is now support for horizontal stacked 3D bar charts;
    416         - added support for range markers against secondary axis in a 
    417           CategoryPlot;
    418         - added labels to domain and range markers;
    419         - added a new HistogramDataset class (contributed by Jelai Wang) to
    420           make it easier to create histograms with JFreeChart;
    421         - moved the DrawingSupplier into the plot class, renderers now
    422           reference the supplier from the plot (parent plot for combined and
    423           overlaid charts).  This means that renderers now share a single
    424           DrawingSupplier by default, which simplifies the creation of
    425           combined charts;
    426         - changed the ColorBarAxis classes that extended the NumberAxis class,
    427           to a single ColorBar class that wraps a ValueAxis (may have broken
    428           one or two things in the process);
    429         - Barak Naveh has contributed new classes MatrixSeries and
    430           MatrixSeriesCollection, along with demos:  BubblyBubblesDemo.java
    431           and BubblyBubblesDemo2.java;
    432         - the TextTitle class now has a background paint attribute;
    433         - the StandardLegend class now generates LegendEntity objects if a
    434           ChartRenderingInfo instance is supplied to the draw(...) method;
    435         - extended the CategoryTextAnnotation class to take into account a
    436           category anchor point.  See the SurveyResultsDemo.java application
    437           for an example;
    438         - included numerous bug fixes;
    439 
    440 0.9.8 : (24-Apr-2003)
    441         - changed package naming from com.jrefinery.* to org.jfree.*;
    442         - added new TimePeriodValuesCollection class;
    443         - added MIME type code to ServletUtilities class;
    444         - reversed the order of PieDataset and KeyedValuesDataset in 
    445           the class hierarchy;
    446         - reversed the order of CategoryDataset and KeyedValues2DDataset
    447           in the class hierarchy;
    448         - minor bug fixes;
    449 
    450 0.9.7 : (11-Apr-2003) 
    451         - added a new ValueDataset interface and DefaultValueDataset
    452           class, and changed the CompassPlot class to use this instead
    453           of MeterDataset;
    454         - added DataUtilities class, to support creation of Pareto
    455           charts (new demo included);
    456         - updated writeImageMap method as suggested by Xavier Poinsard
    457           (see Feature Request 688079);
    458         - implemented Serializable for most classes (this is likely to
    459           require further testing);
    460         - incorporated contour plot updates from David M. O'Donnell;
    461         - added new CategoryTextAnnotation and XYLineAnnotation
    462           classes;
    463         - added new HorizontalCategoryAxis3D class contributed by
    464           Klaus Rheinwald;
    465 
    466         Bug fixes:
    467         - added a workaround for JVM crash (a JDK bug) in pie charts
    468           with small sections (see bug report 620031);
    469         - fixed minor bug in HorizontalCategoryPlot constructor (see
    470           bug report 702248);
    471         - added code to ensure HorizontalNumberAxis3D is not drawn if
    472           it is not visible (see bug report 702466);
    473         - added small fix for suppressed chart change events (see bug
    474           report 690865);
    475         - added pieIndex parameter to tooltip and URL generators for
    476           pie charts;
    477         - fixed bug in getLastMillisecond() method for the Second
    478           class and the getFirstMillisecond() method for the Year
    479           class (picked up in JUnit tests);
    480         - in TextTitle, changed width used for relative spacing to fix
    481           bug 703050;
    482 
    483 0.9.6 : (17-Feb-2003) Bug fixes:
    484         - fixed null pointer exception in DefaultCategoryDataset;
    485         - fixed update problem for PaintTable, StrokeTable and
    486           ShapeTable objects;
    487         - added methods to control colors in PiePlot (these were
    488           inadvertantly removed in the changes made for 0.9.5);
    489         - fixed auto-range update problem for secondary axis;
    490         - fixed missing category labels in the overlaid category plot;
    491         - fixed constructors for symbolic axes;
    492         - corrected error in Javadoc generation (Ant script);
    493 
    494 0.9.5 : (6-Feb-2003)  PLEASE NOTE THAT MAJOR CHANGES TO THE
    495         JFREECHART API HAVE BEEN MADE IN THIS RELEASE!
    496 
    497         - added support for secondary axes, datasets and renderers;
    498         - added new data interfaces (Value, Values, Values2D,
    499           KeyedValues and KeyedValues2D) and incorporated these into
    500           the existing PieDataset and CategoryDataset interfaces.
    501         - modified the CategoryDataset interface to be more
    502           symmetrical, data is organised in rows and columns (as
    503           before) but can now be accessed by row/column index or
    504           row/column key.   
    505         - added support for reading PieDatasets and CategoryDatasets
    506           from XML files.
    507         - created separate packages for the axes
    508           (com.jrefinery.chart.axis), plots (com.jrefinery.chart.plot)
    509           and renderers (com.jrefinery.chart.renderer).
    510         - series attributes (paint, outline paint, stroke and shape)
    511           are now controlled by the renderer classes using lookup
    512           tables.  Introduced the DrawingSupplier interface (and
    513           DefaultDrawingSupplier class) which is used to populate the
    514           lookup tables from a common source (necessary to coordinate
    515           complex combined charts).
    516         - the chart legend can now display shapes corresponding to
    517           series. 
    518         - moved responsibility for category distribution to the
    519           CategoryAxis class, which tidies up the code in the
    520           CategoryPlot classes.  
    521         - gridlines are now controlled by the CategoryPlot and XYPlot
    522           classes, not the axes (included in this change is the
    523           addition of gridlines for the CategoryPlot domain values).
    524         - changed the list of titles in the JFreeChart class to a
    525           title and a list of subtitles.  
    526         - added new renderers for XYPlot (XYBubbleRenderer and
    527           YIntervalRenderer).
    528         - modified Gantt chart to display sub-tasks.
    529         - added ContourPlot class (still experimental) by David
    530           M. O'Donnell.
    531         - introduced new MovingAverage class.
    532         - ChartMouseEvent now includes source chart.
    533         - numerous bug fixes.
    534         - lots of Javadoc updates.
    535 
    536 0.9.4 : (18-Oct-2002)  Added a new stacked area chart (contributed by Dan
    537         Rivett) and a compass plot (contributed by Bryan Scott).  Updated
    538         the ThermometerPlot class. Added a new XYDotRenderer for scatter
    539         plots. Modified combined and overlaid plots to use the series colors
    540         specified in the sub plot rather than the parent plot (this makes it
    541         easier to align the colors in the legend).  Added Regression class
    542         for linear and power regressions.  BasicTimeSeries can now
    543         automatically drop "old" data.  Some clean-up work in the code for
    544         tooltips and the event listener mechanism.  Richard Atkinson has
    545         incorporated some useful extensions for servlets/JSP developers.
    546 
    547         Ran Checkstyle and corrected issues reported for most classes.
    548         Checkstyle is a free utility that you can download from:
    549 
    550             http://checkstyle.sourceforge.net
    551 
    552         Fixed bugs and updated documentation.
    553 
    554         API changes include:
    555         - added tickMarkPaint to Axis constructor (also affects
    556           subclasses);
    557         - added getLegendItems() to Plot, and deprecated
    558           getLegendItemLabels();
    559         - added getLegendItem(int) to XYItemRenderer and
    560           CategoryItemRenderer.
    561         - most 'protected' member variables have been changed to
    562           'private'.
    563 
    564 0.9.3 : (4-Sep-2002) Added multiple pie charts based on
    565         CategoryDataset.  Updated logarithmic axes.  Improved URL
    566         support for image map generation. Moved the com.jrefinery.data
    567         package from JCommon to JFreeChart. Added simple framework for
    568         chart annotations. Improved control over renderers. Duplicate
    569         x-values now allowed in XYSeries. Optional category label
    570         skipping in category axes. Added CategoriesPaint attribute to
    571         AbstractCategoryItemRenderer.  Added new attributes to
    572         MeterPlot class. Updated 3D pie chart to observe start angle
    573         and direction, and also foreground alpha < 1.0. Improved
    574         Javadoc comments. New demo applications, including:
    575         AnnotationDemo1, EventFrequencyDemo, JDBCCategoryChartDemo,
    576         JDBCPieChartDemo, JDBCXYChartDemo and MinMaxCategoryPlotDemo.
    577         Bug fixes:
    578         - negative percentages on PiePlot.
    579         - added listener notification to setXXXAxis(...) methods.
    580         - fixed DomainInfo method name clash.
    581         - added DomainIsPointsInTime flag to TimeSeriesCollection to
    582           give better control over auto range on axis for time series
    583           charts.
    584         - axis margins for date axes are no longer hard-coded.
    585         - fix for ordering of categories in JdbcCategoryDataset.
    586         - added check for null axis in mouse click handler.
    587 
    588         The CVS repository at SourceForge has also been restructured
    589         to match the distribution directory layout.
    590 
    591 0.9.2 : (28-Jun-2002) PiePlot now has startAngle and direction
    592         attributes.  Added support for image map generation.  Added a
    593         new Pie3DPlot class. Added label drawing code to bar
    594         renderers. Added optional range markers to horizontal number
    595         axis.  Added bar clipping to avoid PRExceptions in bar
    596         charts.  JFreeChartDemo has been modified and now includes
    597         examples of the dial and thermometer plots.
    598         Bug fixes:
    599         - auto range for VerticalNumberAxis when zero is forced to be
    600           included in the range.
    601         - fixed null pointer exception in StackedVerticalBarRenderer3D;
    602         - Added get/set methods for min/max chart drawing dimensions
    603           in ChartPanel;
    604         - HorizontalIntervalBarRenderer now handles single category;
    605         - verticalTickLabels now possible in HorizontalNumberAxis3D;
    606         - removed unnecessary imports;
    607 
    608 0.9.1 : (14-Jun-2002) Bug fixes and Javadoc updates.
    609         - fixed auto range calculation for category plots;
    610         - fixed event notification for XYPlot;
    611         - fixed auto axis range for Gantt charts;
    612         - check for null popup menu in ChartPanel.mouseDragged;
    613         - new checks for null info in renderers;
    614         - range markers now drawn only if in visible axis range;
    615 
    616 0.9.0 : (7-Jun-2002) New plots including an area chart, a horizontal
    617         3D bar chart, a Gantt chart and a thermometer chart.
    618         Combination plots have been reworked to provide a
    619         simpler framework, and extends to allow category plots to be
    620         combined. There is now a facility to add a ChartMouseListener
    621         to the ChartPanel (formerly JFreeChartPanel).  An interactive
    622         zooming feature (experimental at this point) is now available
    623         for XYPlots.  A new Polish translation has been added. Several
    624         fixes have been applied to the default tool tip generators.  A
    625         workaround has been added to fix the alignment between time
    626         series charts and the date axis.  There are some improvements
    627         to the VerticalLogarithmicAxis class, and now a corresponding
    628         HorizontalLogarithmicAxis class.  Additional demonstration
    629         applications have been added.  Fixed the popup menu bug.
    630 
    631 0.8.1 : (5-Apr-2002) Localised resource bundles for French, German and
    632         Spanish languages (thanks to Anthony Boulestreau, Thomas Meier
    633         and Hans-Jurgen Greiner for the translations).  An area XY
    634         plot and meter chart contributed by Hari.  Symbol charts
    635         contributed by Anthony Boulestreau. An improved
    636         CandleStickRenderer class from Sylvain Vieujot.  Updated
    637         servlet code from Bryan Scott.  XYItemRenderers now have a
    638         change listener mechanism and therefore do not have to be
    639         immutable.  Additional demonstration applications for
    640         individual chart types. Minor bug fixes.
    641 
    642 0.8.0 : (22-Mar-2002) All the category plots are now controlled
    643         through the one class (CategoryPlot) with plug-in renderers.
    644         Added a ResourceBundle for user interface items that require
    645         localisation. Added a logarithmic axis class contributed by
    646         Mike Duffy and some new JDBC and servlet code contributed by
    647         Bryan Scott.  Updated the JCommon class library to improve
    648         handling of time periods in different time zones.
    649 
    650 0.7.4 : (6-Mar-2002) Bug fixes in the JCommon Class Library. Various
    651         Javadoc comment updates.  Some minor changes to the
    652         code. Added new domain name (http://www.object-refinery.com)
    653         in the source headers.
    654 
    655 0.7.3 : (14-Feb-2002) Bug fixes.
    656 
    657 0.7.2 : (8-Feb-2002) Integrated the WindPlot code from Achilleus
    658         Mantzios. Added an optional background image for the
    659         JFreeChart class, and another optional background image for
    660         the Plot class.  Added alpha-transparency for the plot
    661         foreground and background.  Added new pie chart label types
    662         that show values.  Fixed a bug with the legend that results in
    663         a loop at small chart sizes. Added some tooltip methods that
    664         were missing from the previous version. Changed the Insets
    665         class on chart titles to a new Spacer class that will allow
    666         for relative or absolute insets (the plan is to eventually
    667         replace all Insets in the JFreeChart classes).  Fixed a bug in
    668         the setAutoRangeIncludesZero method of the NumberAxis class.
    669         Added the instructions that were missing from the copies of
    670         the GNU Lesser General Public Licence included with JFreeChart.
    671 
    672 0.7.1 : (25-Jan-2002) Added tooltips, crosshairs and zooming
    673         functions, thanks to Jonathan Nash and Hans-Jurgen Greiner
    674         for contributing the code that these features are based on.
    675         Moved the combination charts into the package
    676         com.jrefinery.chart.combination, made a number of other small
    677         API changes and fixed some bugs.  Removed the Javadoc HTML
    678         from the download to save space (you can regenerate it from
    679         the source code if you need it).
    680 
    681 0.7.0 : (11-Dec-2001) New combination plots developed by Bill
    682         Kelemen.  Added Wolfgang Irler's servlet demo to the standard
    683         download.  The About window in the demo application now
    684         includes a list of developers that have contributed to the
    685         project.
    686 
    687 0.6.0 : (27-Nov-2001) New plots including scatter plot, stacked bar
    688         charts and 3D bar charts.  Improved pie chart.  Data
    689         interfaces and classes moved to the JCommon class library.
    690         New properties to control spacing on bar charts.  New
    691         auto-tick mechanism.  JFreeChartPanel now incorporates
    692         buffering, and popup menu.  Javadocs revised.  Fixed numerous
    693         bugs from version 0.5.6.  Demo application updated.
    694 
    695 ----------------
    696 10.  CONTRIBUTORS
    697 ----------------
    698 JFreeChart wouldn't be half the library that it is today without the
    699 contributions (large and small) that have been made by the developers listed 
    700 below:
    701 
    702     - Eric Alexander
    703     - Richard Atkinson
    704     - David Basten
    705     - David Berry
    706     - Chris Boek
    707     - Zoheb Borbora
    708     - Anthony Boulestreau
    709     - Jeremy Bowman
    710     - Nicolas Brodu
    711     - Jody Brownell
    712     - David Browning
    713     - Soren Caspersen
    714     - Chuanhao Chiu
    715     - Brian Cole
    716     - Pascal Collet
    717     - Martin Cordova
    718     - Paolo Cova
    719     - Mike Duffy
    720     - Don Elliott
    721     - Rune Fauske
    722     - Jonathan Gabbai
    723     - Serge V. Grachov
    724     - Daniel Gredler
    725     - Joao Guilherme Del Valle
    726     - Hans-Jurgen Greiner
    727     - Nick Guenther
    728     - Aiman Han
    729     - Cameron Hayne
    730     - Jon Iles
    731     - Wolfgang Irler
    732     - Sergei Ivanov
    733     - Adriaan Joubert
    734     - Darren Jung
    735     - Xun Kang
    736     - Bill Kelemen
    737     - Norbert Kiesel
    738     - Gideon Krause
    739     - Pierre-Marie Le Biot
    740     - Arnaud Lelievre
    741     - Wolfgang Lenhard
    742     - David Li
    743     - Yan Liu
    744     - Tin Luu
    745     - Craig MacFarlane
    746     - Achilleus Mantzios
    747     - Thomas Meier
    748     - Jim Moore
    749     - Jonathan Nash
    750     - Barak Naveh
    751     - David M. O'Donnell
    752     - Krzysztof Paz
    753     - Tomer Peretz
    754     - Xavier Poinsard
    755     - Andrzej Porebski
    756     - Viktor Rajewski
    757     - Eduardo Ramalho
    758     - Michael Rauch
    759     - Cameron Riley
    760     - Klaus Rheinwald
    761     - Dan Rivett
    762     - Scott Sams
    763     - Michel Santos
    764     - Thierry Saura
    765     - Andreas Schneider
    766     - Jean-Luc SCHWAB
    767     - Bryan Scott
    768     - Tobias Selb
    769     - Mofeed Shahin
    770     - Pady Srinivasan
    771     - Greg Steckman
    772     - Roger Studner
    773     - Gerald Struck
    774     - Irv Thomae
    775     - Eric Thomas
    776     - Rich Unger
    777     - Daniel van Enckevort
    778     - Laurence Vanhelsuwe
    779     - Sylvain Vieujot
    780     - Jelai Wang
    781     - Mark Watson
    782     - Alex Weber
    783     - Richard West
    784     - Matthew Wright
    785     - Benoit Xhenseval
    786     - Christian W. Zuckschwerdt
    787     - Hari 
    788     - Sam (oldman)
    789 
    790 It is possible that I have missed someone on this list, if that
    791 applies to you, please e-mail me. 
    792 
    793 Dave Gilbert (david.gilbert (a] object-refinery.com)
    794 JFreeChart Project Leader
    795