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