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