Raphael Moll | 8fb02c1 | 2013-03-08 15:22:54 -0800 | [diff] [blame^] | 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@object-refinery.com) |
| 794 | JFreeChart Project Leader |