root / tmp / org.txm.libs.jfreechart / about.html @ 2414
Historique | Voir | Annoter | Télécharger (64,44 ko)
| 1 |
JFreeChart |
|---|---|
| 2 |
========== |
| 3 |
|
| 4 |
Version 1.5.0, 5 November 2017. |
| 5 |
|
| 6 |
[](https://maven-badges.herokuapp.com/maven-central/org.jfree/jfreechart) |
| 7 |
|
| 8 |
Overview |
| 9 |
-------- |
| 10 |
JFreeChart is a comprehensive free chart library for the Java(tm) platform that |
| 11 |
can be used on the client-side (JavaFX and Swing) or the server side (with |
| 12 |
export to multiple formats including SVG, PNG and PDF). |
| 13 |
|
| 14 |
 |
| 15 |
|
| 16 |
The home page for the project is: |
| 17 |
|
| 18 |
http://www.jfree.org/jfreechart |
| 19 |
|
| 20 |
JFreeChart requires JDK 1.6.0 or later. If JavaFX support is required, you |
| 21 |
need to also include the JFreeChart-FX extensions: |
| 22 |
|
| 23 |
https://github.com/jfree/jfreechart-fx |
| 24 |
|
| 25 |
The library is licensed under the terms of the GNU Lesser General Public |
| 26 |
License (LGPL) version 2.1 or later. |
| 27 |
|
| 28 |
|
| 29 |
Using JFreeChart |
| 30 |
---------------- |
| 31 |
To use JFreeChart in your projects, add the following dependency to your build tool: |
| 32 |
|
| 33 |
<dependency>
|
| 34 |
<groupId>org.jfree</groupId> |
| 35 |
<artifactId>jfreechart</artifactId> |
| 36 |
<version>1.5.0</version> |
| 37 |
</dependency>
|
| 38 |
|
| 39 |
|
| 40 |
Building JFreeChart |
| 41 |
------------------- |
| 42 |
You can build JFreeChart using Maven by issuing the following command from the root directory of the project: |
| 43 |
|
| 44 |
mvn clean install |
| 45 |
|
| 46 |
The build requires JDK 1.6.0 or later. |
| 47 |
|
| 48 |
|
| 49 |
Migration from JFreeChart 1.0.x |
| 50 |
------------------------------- |
| 51 |
When migrating from JFreeChart 1.0.x to JFreeChart 1.5.0, please be aware of the following API changes: |
| 52 |
|
| 53 |
* all the classes from JCommon that are used by JFreeChart have integrated within the JFreeChart jar file within a different package than before (you will need to change your imports); |
| 54 |
* many methods `getBaseXXX()/setBaseXXX()` have been renamed `setDefaultXXX()/getDefaultXXX()`; |
| 55 |
* the `ChartUtilities` class has been renamed `ChartUtils`; |
| 56 |
* all the classes relating to pseudo-3D charts have been removed, as much better 3D charts are offered by [Orson Charts](https://github.com/jfree/orson-charts) so we prefer not to maintain the pseudo-3D chart code within JFreeChart; |
| 57 |
* the `SegmentedTimeline` class has been removed due to being (a) complex, (b) not always being correct and, as a result, generating too many support requests; |
| 58 |
* the `org.jfree.chart.utils.ParamChecks` class has been renamed `org.jfree.chart.utils.Args`. |
| 59 |
|
| 60 |
Please refer to [Issue 66](https://github.com/jfree/jfreechart/issues/66) for additional info. |
| 61 |
|
| 62 |
|
| 63 |
Demos |
| 64 |
----- |
| 65 |
A small set of demo applications can be found in the following projects here |
| 66 |
at GitHub: |
| 67 |
|
| 68 |
* [JFree-Demos](https://github.com/jfree/jfree-demos "JFree-Demos Project Page at GitHub") |
| 69 |
* [JFree-FXDemos](https://github.com/jfree/jfree-fxdemos "JFree-FXDemos Project Page at GitHub") |
| 70 |
|
| 71 |
|
| 72 |
History |
| 73 |
------- |
| 74 |
|
| 75 |
##### Version 1.5.0 (5 November 2017) |
| 76 |
- all JavaFX classes moved to a separate project; |
| 77 |
- added cleaner method to create histograms in `ChartFactory`; |
| 78 |
- JCommon removed as a dependency, and required classes incorporated directly (including package rename); |
| 79 |
- pull request #4 improvements to `XYStepRenderer`; |
| 80 |
- bug #36 fix for crosshairs with multiple datasets / axes; |
| 81 |
- bug #25 fix for `DateAxis.previousStandardDate()` method; |
| 82 |
- bug #19 fix for default time zone in `SegmentedDateAxis`; |
| 83 |
- SourceForge #1147 improve performance of `CategoryPlot` mapping datasets to axes; |
| 84 |
- moved SWT code out into separate projects; |
| 85 |
- moved demo programs to a separate project; |
| 86 |
- dropped the Ant build; |
| 87 |
|
| 88 |
##### Version 1.0.19 (31-Jul-2014) |
| 89 |
- fixed clipping issues for combined plots in JavaFX; |
| 90 |
- fixed a memory leak in the new JavaFX `ChartCanvas` class; |
| 91 |
- `CombinedDomainXYPlot` and `CombinedRangeXYPlot` now take into account the pannable flags in the subplots; |
| 92 |
- `FastScatterPlot` panning direction is corrected; |
| 93 |
- added rendering hints to sharpen gridlines and borders in most output formats; |
| 94 |
- JFreeSVG updated to version 2.0; |
| 95 |
- included a preview of JSFreeChart, a 2D chart library written in JavaScript that is conceptually similar to JFreeChart but runs directly in a web browser. |
| 96 |
|
| 97 |
##### Version 1.0.18 (3-Jul-2014) |
| 98 |
- added JavaFX support via `FXGraphics2D`; |
| 99 |
- improved `LogAxis` labelling; |
| 100 |
- improved numeric tick labelling; |
| 101 |
- center text support in `RingPlot`; |
| 102 |
- `stepPoint` attribute in the `XYStepAreaRenderer`; |
| 103 |
- other minor improvements and bug fixes. |
| 104 |
|
| 105 |
##### Version 1.0.17 (22-Nov-2013) |
| 106 |
- Enhanced `XYSplineRenderer` with new area fill (contributed by Klaus Rheinwald); |
| 107 |
- added a notify flag to all datasets that extend `AbstractDataset`; |
| 108 |
- extended `TimeSeriesCollection` to validate `TimeSeries` keys for uniqueness; |
| 109 |
- added a new `DirectionalGradientPaintTransformer` (by Peter Kolb); |
| 110 |
- updated `OHLCSeries`; |
| 111 |
- added `HMSNumberFormat`; |
| 112 |
- updated JCommon to version 1.0.21 (includes rotated text improvements) and fixed some minor bugs. |
| 113 |
|
| 114 |
###### Bug Fixes |
| 115 |
- 977 : Multithreading issue with `DateAxis`; |
| 116 |
- 1084 : `BorderArrangement.add()` possible `ClassCastException`; |
| 117 |
- 1099 : `XYSeriesCollection.removeSeries(int)` does not deregister listener; |
| 118 |
- 1109 : `WaterfallBarRenderer` uses wrong color for diff 0. |
| 119 |
|
| 120 |
|
| 121 |
##### Version 1.0.16 (13-Sep-2013) |
| 122 |
|
| 123 |
*** THIS RELEASE REQUIRES JDK/JRE 1.6.0 OR LATER. *** |
| 124 |
|
| 125 |
- Provided subscript/superscript support for axis labels (via `AttributedString`); |
| 126 |
- new axis label positioning options; |
| 127 |
- simplified `ChartFactory` methods; |
| 128 |
- added new methods to `DatasetUtilities` to interpolate y-values in `XYDatasets`; |
| 129 |
- added URLs to labels on `CategoryAxis`; |
| 130 |
- seamless integration with JFreeSVG (http://www.jfree.org/jfreesvg/) and OrsonPDF |
| 131 |
(http://www.object-refinery.com/pdf/); |
| 132 |
- improved the consistency of the `SWTGraphics2D` implementation; |
| 133 |
|
| 134 |
All the JUnit tests have been upgraded to JUnit 4. |
| 135 |
|
| 136 |
###### Bug Fixes |
| 137 |
|
| 138 |
- 1107 : Fixed TimeZone issue in `PeriodAxis`; |
| 139 |
|
| 140 |
Also fixed a line drawing issue with the `StackedXYAreaRenderer`, and a memory |
| 141 |
leak in the SWT `ChartComposite` class. |
| 142 |
|
| 143 |
|
| 144 |
##### Version 1.0.15 (4-Jul-2013) |
| 145 |
- Added support for non-visible series in `XYBarRenderer`; |
| 146 |
- minor gridlines in `PolarPlot`; |
| 147 |
- legend item ordering; |
| 148 |
- chart editor enhancements; |
| 149 |
- updates to `StandardDialScale`; |
| 150 |
- localisation files for Japanese; |
| 151 |
- refactored parameter checks. |
| 152 |
|
| 153 |
This release also fixes a minor security flaw in the `DisplayChart` class, detected and reported by OSI Security: |
| 154 |
|
| 155 |
http://www.osisecurity.com.au/advisories/jfreechart-path-disclosure |
| 156 |
|
| 157 |
###### Patches |
| 158 |
|
| 159 |
- 3500621 : `LegendTitle` order attribute (by Simon Kaczor); |
| 160 |
- 3463807 : `ChartComposite` does not dispose popup (by Sebastiao Correia); |
| 161 |
- 3204823 : `PaintAlpha` for 3D effects (by Dave Law); |
| 162 |
|
| 163 |
###### Bug Fixes |
| 164 |
|
| 165 |
- 3561093 : Rendering anomaly for `XYPlots`; |
| 166 |
- 3555275 : `ValueAxis.reserveSpace()` problem for axes with fixed dimension; |
| 167 |
- 3521736 : `DeviationRenderer` optimisation (by Milan Ramaiya); |
| 168 |
- 3514487 : `SWTGraphics2D` `get/setStroke()` problem; |
| 169 |
- 3508799 : `DefaultPolarItemRenderer` does not populate `seriesKey` in `LegendItem`; |
| 170 |
- 3482106 : Missing text in `SWTGraphics2D` (by Kevin Xu); |
| 171 |
- 3484408 : Maven fixes (Martin Hoeller); |
| 172 |
- 3484403 : `DateAxis` endless loop (by Martin Hoeller); |
| 173 |
- 3446965 : `TimeSeries` calculates range incorrectly in `addOrUpdate()`; |
| 174 |
- 3445507 : `TimeSeriesCollection.findRangeBounds()` regression; |
| 175 |
- 3425881 : `XYDifferenceRenderer` fix (by Patrick Schlott/Christoph Schroeder); |
| 176 |
- 2963199 : SWT print job (by Jonas Rüttimann); |
| 177 |
- 2879650 : Path disclosure vulnerability in `DisplayChart` servlet; |
| 178 |
|
| 179 |
Also fixed a rendering issue for polar charts using an inverted axis. |
| 180 |
|
| 181 |
##### Version 1.0.14 (20-Nov-2011) |
| 182 |
This release contains: |
| 183 |
|
| 184 |
- support for multiple and logarithmic axes with `PolarPlot`; |
| 185 |
- optional drop-shadows in plot rendering; |
| 186 |
- fitting polynomial functions to a data series; |
| 187 |
- some performance improvements in the `TimeSeriesCollection` class; |
| 188 |
- mouse wheel rotation of pie charts; |
| 189 |
- improved Maven support. |
| 190 |
|
| 191 |
###### Patches |
| 192 |
|
| 193 |
- 3435734 : Fix lines overlapping item labels (by Martin Hoeller); |
| 194 |
- 3421088 : Bugfix for misalignment in `BoxAndWhiskerRenderer`; |
| 195 |
- 2952086 : Enhancement for finding bounds in `XYZDatasets`; |
| 196 |
- 2954302 : `CategoryPointerAnnotation` line calculation; |
| 197 |
- 2902842 : `HistogramDataset.addSeries()` fires change change event (by Thomas A Caswell); |
| 198 |
- 2868608 : Whisker width attribute for `BoxAndWhiskerRenderer` (by Peter Becker); |
| 199 |
- 2868585 : Added `useOutlinePaint` flag for `BoxAndWhiskerRenderer` (by Peter Becker); |
| 200 |
- 2850344 : `PolarPlot` enhancements (by Martin Hoeller); |
| 201 |
- 2795746 : Support for polynomial regression; |
| 202 |
- 2791407 : Fixes for `findRangeBounds()` in various renderers. |
| 203 |
|
| 204 |
###### Bug Fixes |
| 205 |
|
| 206 |
- 3440237 : Shadows always visible; |
| 207 |
- 3432721 : `PolarPlot` doesn't work with logarithmic axis; |
| 208 |
- 3433405 : `LineChart3D` - Problem with Item Labels; |
| 209 |
- 3429707 : `LogAxis` endless loop; |
| 210 |
- 3428870 : Missing argument check in `TextAnnotation`; |
| 211 |
- 3418287 : `RelativeDateFormatTest.java` is locale dependent; |
| 212 |
- 3353913 : Localisation fixes for `ChartPanel`, `CompassPlot` and `PiePlot3D`; |
| 213 |
- 3237879 : `RingPlot` should respect `getSectionOutlineVisible()`; |
| 214 |
- 3190615 : Added missing `clear()` method in `CategoryTableXYDataset`; |
| 215 |
- 3165708 : `PolarChartPanel` localisation fix; |
| 216 |
- 3072674 : Bad handling of `NaN` in `DefaultStatisticalCategoryDataset`; |
| 217 |
- 3035289 : `StackedXYBarRenderer` should respect series/item visible flags; |
| 218 |
- 3026341 : Check for null in `getDomain/RangeBounds()` for `XYShapeRenderer`; |
| 219 |
- 2947660 : `AbstractCategoryRenderer` fix null check in `getLegendItems()`; |
| 220 |
- 2946521 : `StandardDialScale` check `majorTickIncrement` argument; |
| 221 |
- 2876406 : `TimeTableXYDataset` should support `Comparable` for series keys; |
| 222 |
- 2868557 : `BoxAndWhiskerRenderer` should fire change event in `setMedianVisible()`; |
| 223 |
- 2849731 : For `IntervalCategoryDataset` and `IntervalXYDataset`, fix `iterateRangeBounds()` in `DatasetUtilities`; |
| 224 |
- 2840132 : `AbstractXYItemRenderer` `drawAnnotations` doesn't set renderer index; |
| 225 |
- 2810220 : Offset problem in `StatisticalBarRenderer`; |
| 226 |
- 2802014 : Dial value border too small; |
| 227 |
- 2781844 : `XYPointerAnnotation` arrow drawing; |
| 228 |
- 1937486 : `AreaRenderer` doesn't respect `AreaRendererEndType.LEVEL`; |
| 229 |
|
| 230 |
Also fixed: |
| 231 |
- use of simple label offset in `PiePlot`; |
| 232 |
- cached `minY` and `maxY` in `TimeSeries.createCopy()`; |
| 233 |
- scaling issues for charts copied to the clipboard; |
| 234 |
- use of timezone in `TimeTableXYDataset` constructor; |
| 235 |
- duplicate series names in `XYSeriesCollection`; |
| 236 |
- `HistogramDataset` fires a change event in `addSeries()`; |
| 237 |
- check visibility of main chart title before drawing it; |
| 238 |
- fixed serialization of `PowerFunction2D`, `NormalDistributionFunction2D`, and `LineFunction2D`; |
| 239 |
- item label positioning for the `AreaRenderer` class when the plot has an horizontal orientation. |
| 240 |
|
| 241 |
##### Version 1.0.13 (17-Apr-2009) |
| 242 |
|
| 243 |
> SPECIAL NOTICE: There will be a birds-of-a-feather session for JFreeChart at this year's JavaOne conference in San Francisco. The session is scheduled for 6.45pm to 7.35pm on Wednesday 3 June.
|
| 244 |
|
| 245 |
This release contains: |
| 246 |
|
| 247 |
- updates to the `ChartPanel` class to support copying charts to the clipboard, |
| 248 |
panning and mouse-wheel zooming, and an overlay mechanism that supports |
| 249 |
crosshairs; |
| 250 |
- enhancements to the auto-range calculation for axes, providing the ability |
| 251 |
to use subranges only and also to skip hidden series; |
| 252 |
- updates for many of the `CategoryItemRenderer` implementations to ensure that |
| 253 |
they respect the `seriesVisible` flags; |
| 254 |
- an improvement to the `TimeSeries` class so that it is no longer necessary to |
| 255 |
specify the time period type in the constructor; |
| 256 |
- a new `SamplingXYLineRenderer` for improving the performance of time series |
| 257 |
charts with large datasets; |
| 258 |
- the `XYSeries/XYSeriesCollection` classes now cache the minimum and maximum |
| 259 |
data values to improve the performance of charts with large datasets; |
| 260 |
- entities are now created for the chart, data area and axes, allowing mouse |
| 261 |
clicks to be detected for these regions; |
| 262 |
- added a bar alignment factor to the `XYBarRenderer` class; |
| 263 |
- a new `errorIndicatorStroke` field for the `StatisticalLineAndShapeRenderer` and `XYErrorRenderer` classes; |
| 264 |
- added a new `HeatMapDataset` interface, `DefaultHeatMapDataset` implementation, |
| 265 |
and a `HeatMapUtilities` class to make it easier to create heat map charts; |
| 266 |
- there is a new flag to allow an `XYDataImageAnnotation` to be included in the |
| 267 |
automatic range calculation for the axes; |
| 268 |
- additional attributes in the `XYTextAnnotation` class; |
| 269 |
- added a `sampleFunction2DToSeries()` method to the `DatasetUtilities` class; |
| 270 |
- some changes to the `ChartPanel` class that help to work around a regression in |
| 271 |
JRE 1.6.0_10 relating to drawing in XOR mode. Regarding this final point: |
| 272 |
* the default value for the `useBuffer` flag has changed to true, which means |
| 273 |
that all charts will, by default, be rendered into an off-screen image |
| 274 |
before being displayed in the `ChartPanel`; |
| 275 |
* the zoom rectangle is drawn using XOR mode *only* when the `useBuffer` |
| 276 |
flag has been set to false. |
| 277 |
For most usage, this should improve performance (but at the cost of using more |
| 278 |
memory for each `ChartPanel` used in your application); |
| 279 |
|
| 280 |
###### Bug Fixes |
| 281 |
|
| 282 |
- 2690293 : Problem with Javascript escape characters; |
| 283 |
- 2617557 : `StandardDialScale` ignored `tickLabelPaint`; |
| 284 |
- 2612649 : `Stroke` selection in plot property editor; |
| 285 |
- 2583891 : `SWTGraphics2D.fillPolygon()` not implemented; |
| 286 |
- 2564636 : `Month` constructor ignores Locale; |
| 287 |
- 2502355 : `ChartPanel` sending multiple events; |
| 288 |
- 2490803 : `PeriodAxis.setRange()` method doesn't take into account that the axis |
| 289 |
displays whole periods; |
| 290 |
|
| 291 |
In addition, a bug in the `SlidingCategoryDataset` class has been fixed, the |
| 292 |
correct outline paint is now used by `GradientXYBarPainter`, a new method |
| 293 |
has been added to the `ImageMapUtilities` class to escape special characters |
| 294 |
in Javascript strings to avoid problems with the OverLIB and DynamicDrive |
| 295 |
tooltips, and there are some important fixes in the `LogAxis` class. |
| 296 |
|
| 297 |
This release passes 2110 JUnit tests (0 failures) on JRE 1.6.0_12. |
| 298 |
|
| 299 |
|
| 300 |
##### Version 1.0.12 (31-Dec-2008) |
| 301 |
|
| 302 |
This release adds |
| 303 |
- support for minor tick marks; |
| 304 |
- mapping datasets to more than one axis; |
| 305 |
- an important fix for the `XYSeries` class (relating to the `addOrUpdate()` method); |
| 306 |
- plus numerous other bug fixes. |
| 307 |
|
| 308 |
This release passes 1996 JUnit test (0 failures) on JRE 1.6.0_10. |
| 309 |
|
| 310 |
###### API Adjustments |
| 311 |
- `CategoryPlot` : added `mapDatasetToDomainAxes()` and `mapDatasetToRangeAxes()` methods; |
| 312 |
- `Month` : added a new constructor `Month(Date, TimeZone, Locale)` and deprecated `Month(Date, TimeZone)`; |
| 313 |
- `Quarter` : added a new constructor `Quarter(Date, TimeZone, Locale)` and deprecated `Quarter(Date, TimeZone)`; |
| 314 |
- `XYPlot` : added `mapDatasetToDomainAxes()` and `mapDatasetToRangeAxes()` methods; |
| 315 |
- `Year` : added a new constructor `Year(Date, TimeZone, Locale)` and deprecated `Year(Date, TimeZone)`; |
| 316 |
|
| 317 |
###### Bug Fixes |
| 318 |
- 2471906 : `XYAreaRenderer` with dashed outline - performance problem; |
| 319 |
- 2452078 : `StackedAreaChart` has gaps; |
| 320 |
- 2275695 : `NullPointerException` for `SubCategoryAxis` on plot with null dataset; |
| 321 |
- 2221495 : `XYLineAnnotation` with dashed stroke; |
| 322 |
- 2216511 : `SWTBarChartDemo1` throws `RuntimeException`; |
| 323 |
- 2201869 : `DateAxis` tick label position error; |
| 324 |
- 2121818 : Label link lines for very thin `RingPlot`; |
| 325 |
- 2113627 : `XYStepRenderer` item labels; |
| 326 |
- 1955483 : `XYSeries.addOrUpdate()` problem. |
| 327 |
|
| 328 |
Also fixed `StackedXYBarRenderer` which was ignoring the `shadowsVisible` attribute. |
| 329 |
|
| 330 |
|
| 331 |
##### Version 1.0.11 (18-Sep-2008) |
| 332 |
|
| 333 |
This release features: |
| 334 |
- a new chart theming mechanism to allow charts to be restyled conveniently; |
| 335 |
- a new `BarPainter` mechanism to enhance the appearance of bar charts; |
| 336 |
- a new `XYShapeRenderer` class; |
| 337 |
- a scaling facility for the `XYDrawableAnnotation` for drawing images within specific data coordinates; |
| 338 |
- some new classes (`XYTaskDataset`, `XYDataImageAnnotation` and `XYTitleAnnotation`); |
| 339 |
- a modification to the `Year` class to support an extended range; |
| 340 |
- various bug fixes and API improvements. |
| 341 |
|
| 342 |
There is an important bug fix for the `StackedBarRenderer3D` class (see bug 2031407). |
| 343 |
|
| 344 |
This release passes 1,961 JUnit tests (0 failures) on JRE 1.6.0_07. |
| 345 |
|
| 346 |
###### API Adjustments |
| 347 |
- `AbstractRenderer` - added `clearSeriesPaints()` and `clearSeriesStrokes()` methods; |
| 348 |
- `BarRenderer` - added `shadowPaint` attribute; |
| 349 |
- `CategoryAxis` - added `getCategoryMiddle()` method; |
| 350 |
- `CategoryPlot` - added `getRendererCount()` method; |
| 351 |
- `ChartFactory` - added `get/setChartTheme()` methods; |
| 352 |
- `ChartPanel` - increased default maximum drawing width and height; |
| 353 |
- `ChartTheme` - new interface; |
| 354 |
- `ChartUtilities` - added `applyCurrentTheme()` method; |
| 355 |
- `CompositeTitle` - added `backgroundPaint` attribute; |
| 356 |
- `GradientBarPainter` - new class; |
| 357 |
- `LegendTitle` - added `getWrapper()` method; |
| 358 |
- `OHLCSeriesCollection` - added `xPosition` attribute; |
| 359 |
- `PaintScaleLegend` - new subdivisions field; |
| 360 |
- `PiePlot` - added `autoPopulate` flags, and methods to clear section attributes; |
| 361 |
- `Plot` - added `setDrawingSupplier()` method; |
| 362 |
- `RegularTimePeriod` - the `DEFAULT_TIME_ZONE` field has been deprecated in this release; |
| 363 |
- `RelativeDateFormat` - added methods to control formatting of hours and minutes - see patch 2033092; |
| 364 |
- `StandardChartTheme` - new class; |
| 365 |
- `XYItemRendererState` - new methods; |
| 366 |
- `XYPlot` - added `getRendererCount()` method; |
| 367 |
- `XYShapeRenderer` - new class; |
| 368 |
- `XYTaskDataset` - new class. |
| 369 |
|
| 370 |
###### Patches |
| 371 |
- 1997549 : Status calls to `XYItemRendererState` [Ulrich Voigt]; |
| 372 |
- 2006826 : `CompositeTitle` drawing fix; |
| 373 |
- 2033092 : Additional formatters for `RelativeDateFormat` [Cole Markham]; |
| 374 |
|
| 375 |
###### Bug Fixes |
| 376 |
- 1994355 : `ChartComposite` listener type; |
| 377 |
- 2031407 : Incorrect rendering in `StackedBarRenderer3D`; |
| 378 |
- 2033721 : `WaferMapRenderer`; |
| 379 |
- 2051168 : No key in `LegendItemEntity` for pie charts; |
| 380 |
|
| 381 |
Also fixed drawing of alternate grid bands in `SymbolAxis`, the `totalWeight` |
| 382 |
calculation in the `CombinedXXXPlot` classes, a `NullPointerException` in the |
| 383 |
`XYPlot` class when drawing quadrants, outline visibility in the |
| 384 |
`CategoryPlot` class, and auto-range calculations with `XYBarRenderer`. |
| 385 |
|
| 386 |
##### Version 1.0.10 (8-Jun-2008) |
| 387 |
|
| 388 |
This release contains various bug fixes and minor enhancements to JFreeChart. |
| 389 |
|
| 390 |
- PiePlot labelling has been enhanced (new curve options, and more robust bounds checking); |
| 391 |
- The BoxAndWhiskerRenderer now has a maximumBarWidth attribute; |
| 392 |
- the XYStepRenderer has a new stepPoint attribute; |
| 393 |
- The RelativeDateFormat class has new options; |
| 394 |
- There are new dataset classes (SlidingCategoryDataset and SlidingGanttDataset) that permit a subset of categories to be plotted, and allow charts based on these datasets to simulate scrolling. |
| 395 |
- There is a new ShortTextTitle class. |
| 396 |
|
| 397 |
This release passes 1,929 JUnit tests (0 failures) on JRE 1.6.0_03. |
| 398 |
|
| 399 |
###### API Adjustments: |
| 400 |
|
| 401 |
- BoxAndWhiskerRenderer - added maximumBarWidth attribute (see patch 1866446); |
| 402 |
- ChartPanel - the zoomPoint attribute has been changed from Point to Point2D; |
| 403 |
- DatasetUtilities - iterateCategoryRangeBounds() is deprecated, the method has been renamed iterateRangeBounds(CategoryDataset) for consistency; |
| 404 |
- DefaultKeyedValue - the constructor now prevents a null key; |
| 405 |
- LogFormat - now has a 'powerLabel' attribute; |
| 406 |
- ShortTextTitle - a new title class; |
| 407 |
- SlidingCategoryDataset - new class; |
| 408 |
- SlidingGanttDataset - new class; |
| 409 |
- TimeSeriesCollection - getSeries(String) changed to getSeries(Comparable); |
| 410 |
- XIntervalSeriesCollection - added series removal methods; |
| 411 |
- YIntervalSeriesCollection - added series removal methods; |
| 412 |
- XYIntervalSeriesCollection - added series removal methods; |
| 413 |
|
| 414 |
`PublicCloneable` is now implemented by a number of classes that didn't previously implement the interface - this should improve the reliability of chart cloning. |
| 415 |
|
| 416 |
###### Patches |
| 417 |
|
| 418 |
- 1943021 : Fix for MultiplePiePlot [Brian Cabana]; |
| 419 |
- 1925366 : Speed improvement for DatasetUtilities [Rafal Skalny]; |
| 420 |
- 1918209 : LogAxis createTickLabel() changed from private to protected [Andrew Mickish]; |
| 421 |
- 1914411 : Simplification of plot event notification [Richard West]; |
| 422 |
- 1913751 : XYPlot and CategoryPlot addMarker() methods with optional notification [Richard West]; |
| 423 |
- 1902418 : Bug fix for LogAxis vertical labels [Andrew Mickish]; |
| 424 |
- 1901599 : Fixes for XYTitleAnnotation [Andrew Mickish]; |
| 425 |
- 1891849 : New curve option for pie chart label links [Martin Hilpert]; |
| 426 |
- 1874890 : Added step point to XYStepRenderer [Ulrich Voigt]; |
| 427 |
- 1873328 : Enhancements to RelativeDateFormat [Michael Siemer]; |
| 428 |
- 1871902 : PolarPlot now has angleTickUnit attribute [Martin Hoeller]; |
| 429 |
- 1868745 : Fix label anchor points on LogAxis [Andrew Mickish]; |
| 430 |
- 1866446 : Added maximumBarWidth to BoxAndWhiskerRenderer [Rob Van der Sanden]; |
| 431 |
|
| 432 |
###### Bug Fixes |
| 433 |
|
| 434 |
- 1932146 - PeriodAxis.setRange() doesn't notify listeners; |
| 435 |
- 1927239 - Fix calculation of cumulative range; |
| 436 |
- 1926517 - Bugs in data range calculation for combined plots; |
| 437 |
- 1920854 - PiePlot3D labels drawn multiple times; |
| 438 |
- 1897580 - Fix for DefaultIntervalCategoryDataset; |
| 439 |
- 1892419 - Wrong default for minor tick count in LogAxis; |
| 440 |
- 1880114 - VectorRenderer doesn't work for horizontal plot orientation; |
| 441 |
- 1873160 - DialPlot clipping issues; |
| 442 |
- 1868521 - Problem saving charts to JPEG format; |
| 443 |
- 1864222 - Error on TimeSeries createCopy() method; |
| 444 |
|
| 445 |
The `DatasetUtilities.sampleFunction2D()` has been changed to sample the correct |
| 446 |
number of points - you should check any code that calls this method. The |
| 447 |
`XYBlockRenderer` class now generates entities. Bugs in the `removeDomainMarker()` |
| 448 |
and `removeRangeMarker()` methods in the `CategoryPlot` and `XYPlot` classes have |
| 449 |
been fixed. A bug in the `TimePeriodValues` range calculation has been fixed. |
| 450 |
Fixes were applied to the `clone()` methods in the `TaskSeries` and |
| 451 |
`TaskSeriesCollection` classes. |
| 452 |
|
| 453 |
###### New Experimental Features |
| 454 |
|
| 455 |
Two new classes `CombinedCategoryPlot` and `CombinedXYPlot` have been added to the |
| 456 |
'experimental' source tree - these were contributed by Richard West (see |
| 457 |
patch 1924543). |
| 458 |
|
| 459 |
##### Version 1.0.9 (4-Jan-2008) |
| 460 |
|
| 461 |
This release contains an important security patch as well as various bug fixes |
| 462 |
and minor enhancements. Regarding the security patch, please see the |
| 463 |
following advisory: |
| 464 |
|
| 465 |
http://www.rapid7.com/advisories/R7-0031.jsp |
| 466 |
|
| 467 |
Note that the fix incorporated in the special JFreeChart 1.0.8a release was |
| 468 |
flawed in that it broke the URLs in the HTML image maps generated by |
| 469 |
JFreeChart. Further amendments have been made in this release to fix this |
| 470 |
problem. |
| 471 |
|
| 472 |
###### API Adjustments |
| 473 |
|
| 474 |
A number of classes have new methods. Nothing has been removed or deprecated: |
| 475 |
|
| 476 |
- HashUtilities - added hashCode() methods for BooleanList, PaintList and StrokeList; |
| 477 |
- ImageMapUtilities - added htmlEscape(String); |
| 478 |
- IntervalMarker - added new constructor; |
| 479 |
- Range - added intersects(Range) and scale(Range, double); |
| 480 |
- TextTitle - added protected methods arrangeNN(), arrangeFN() and arrangeRN(); |
| 481 |
- XYDataItem - added getXValue() and getYValue() methods; |
| 482 |
- XYPlot - added setFixedDomainAxisSpace(AxisSpace, boolean) and setFixedRangeAxisSpace(AxisSpace, boolean); |
| 483 |
- XYSeriesCollection - added getSeries(Comparable) method. |
| 484 |
|
| 485 |
###### Bug Fixes |
| 486 |
|
| 487 |
- 1852525 - CandlestickChart.getCategoryPlot() - ClassCastException; |
| 488 |
- 1851416 - testGetFirstMillisecondWithTimeZone fails in 1.0.8a; |
| 489 |
- 1849333 - 1.0.8a breaks URLs in HTML image maps; |
| 490 |
- 1848961 - GroupedStackedBarRenderer works only for primary dataset; |
| 491 |
- 1846063 - Endless loop in paint of XYPlot; |
| 492 |
- 1840139 - Cross-site scripting vulnerabilities in image map code; |
| 493 |
- 1837979 - Background image not shown with SWT; |
| 494 |
- 1460195 - ChartEntity.getImageMapAreaTag() needs nohref; |
| 495 |
- 1400917 - OverLIBToolTipTagFragmentGenerator not escaping single quote; |
| 496 |
- 1363043 - Escape Image Map Data; |
| 497 |
- 1178601 - AbstractRenderer.hashcode() method returns the same value; |
| 498 |
|
| 499 |
In addition, a bug in the constructor for the Week class has been fixed. |
| 500 |
|
| 501 |
##### Version 1.0.8 (23-Nov-2007) |
| 502 |
This release is primarily a bug fix release: |
| 503 |
- a problem with pie chart labeling; |
| 504 |
- a regression in the `DefaultCategoryDataset` class (and underlying `KeyedValues2D` class); |
| 505 |
- a cloning bug in the `TimeSeries` class. |
| 506 |
|
| 507 |
In addition: |
| 508 |
- the `StatisticalBarRenderer` class has a new `errorIndicatorStroke` field and has been updated to support gradients; |
| 509 |
- the `StandardDialScale` has had some missing accessor methods implemented; |
| 510 |
- an override field in the `StandardXYItemRenderer` class has been deprecated; |
| 511 |
- some warnings reported by FindBugs 1.3.0 have been addressed. |
| 512 |
|
| 513 |
##### Version 1.0.7 (14-Nov-2007) |
| 514 |
This release features |
| 515 |
- new classes `DialPlot` and `LogAxis` (previously in experimental); |
| 516 |
- initial support for minor tick units; |
| 517 |
- a new anchored zooming option for the `ChartPanel` class; |
| 518 |
- optional simple labeling on pie charts; |
| 519 |
- improvements to the "statistical" datasets and underlying data structures; |
| 520 |
- and numerous bug fixes. |
| 521 |
|
| 522 |
###### API Adjustments |
| 523 |
|
| 524 |
- `CategoryAxis` - added `getCategorySeriesMiddle()` method; |
| 525 |
- `CategoryPlot` - added methods to remove markers; |
| 526 |
- `ChartPanel` - added `defaultDirectoryForSaveAs` attribute; |
| 527 |
- `DialPlot` - new class, an alternative to `MeterPlot`; |
| 528 |
- `LogAxis` - new class, an alternative to `LogarithmicAxis`; |
| 529 |
- `NumberTick` - new constructor that allows specification of the tick type; |
| 530 |
- `NumberTickUnit` - new constructor to specify the minor tick count; |
| 531 |
- `SymbolAxis` - new methods `get/setGridBandAlternatePaint()`; |
| 532 |
- `TickType` - new class; |
| 533 |
- `TickUnit` - added `minorTickCount` attribute; |
| 534 |
- `ValueTick` - added `tickType` attribute; |
| 535 |
- `StandardPieSectionLabelGenerator` - new constructors accepting a Locale; |
| 536 |
- `StandardPieToolTipGenerator` - likewise; |
| 537 |
- `CategoryPlot` - added `getRangeAxisIndex()`, `zoomDomainAxes()` and `zoomRangeAxes()` methods; |
| 538 |
- `FastScatterPlot` - added new zooming methods; |
| 539 |
- `PiePlot` - new attributes to support simple labeling; |
| 540 |
- `PlotUtilities` - new class; |
| 541 |
- `PolarPlot` - added new zooming methods; |
| 542 |
- `ThermometerPlot` - likewise; |
| 543 |
- `XYPlot` - added methods to remove markers (patch 1823697--same as for `CategoryPlot`), and added new zooming methods; |
| 544 |
- `Zoomable` - added new zooming methods to this interface; |
| 545 |
- `LineAndShapeRenderer` - added `useSeriesOffset` and `itemMargin` attributes; |
| 546 |
- `MinMaxCategoryRenderer` - implemented `equals()`; |
| 547 |
- `XYSplineAndShapeRenderer` - new class; |
| 548 |
- `LogFormat` - new class; |
| 549 |
- `ChartFactory` - new pie and ring chart creation methods that accept a `Locale`; |
| 550 |
- `ChartPanel` - added `zoomAroundAnchor` attribute; |
| 551 |
- `Series` - added `isEmpty()` method; |
| 552 |
- `BoxAndWhiskerItem` - new convenience constructor; |
| 553 |
- `DefaultBoxAndWhiskerCategoryDataset` - new remove methods; |
| 554 |
- `DefaultStatisticalCategoryDataset` - likewise; |
| 555 |
- `MeanAndStandardDeviation` - added new value accessor methods; |
| 556 |
- `TimeTableXYDataset` - added `clear()` method; |
| 557 |
- `Week` - added new constructor; |
| 558 |
- `KeyedObjects` - added `insertValue()` and `clear()` methods; |
| 559 |
- `KeyedObjects2D` - added `clear()` method. |
| 560 |
|
| 561 |
###### Patches |
| 562 |
|
| 563 |
- 1823724 - updated `XYDifferenceRenderer` to support item labels; |
| 564 |
- 1827829 - fixed possible `NullPointerException` in `XYBarRenderer`; |
| 565 |
|
| 566 |
###### Bug Fixes |
| 567 |
|
| 568 |
- 1767315 - `GrayPaintScale.getPaint()` uses wrong value; |
| 569 |
- 1775452 - Inverted `XYBarRenderer` does not render margins correctly; |
| 570 |
- 1802195 - `Marker.listenerList` serializable; |
| 571 |
- 1779941 - `StatisticalBarRenderer` NPE; |
| 572 |
- 1766646 - `XYBlockRenderer` can't handle empty datasets; |
| 573 |
- 1763413 - `PeriodAxis` labels fail to display with setInverted; |
| 574 |
- 1737953 - Zoom doesn't work on `LogAxis` (Demo1); |
| 575 |
- 1749124 - `JFreeChart` not added as `TitleChangeListener`; |
| 576 |
|
| 577 |
##### Version 1.0.6 (15-Jun-2007) |
| 578 |
This release features: |
| 579 |
- a new `VectorRenderer` (previously in experimental); |
| 580 |
- a generalised `XYDifferenceRenderer`; |
| 581 |
- better support for hotspots on legend items; |
| 582 |
- improved performance for time series charts displaying subsets of data; |
| 583 |
- support for `GradientPaint` in plot backgrounds; |
| 584 |
- plus the usual slew of bug fixes and minor feature additions. |
| 585 |
|
| 586 |
###### API Adjustments |
| 587 |
|
| 588 |
- `CategoryItemEntity` - replaced row and column index attributes with row and column key attributes; |
| 589 |
- `CategoryItemRenderer` - numerous series override settings have been deprecated; |
| 590 |
- `DefaultPieDataset` - added `insertValues()` method; |
| 591 |
- `HexNumberFormat` - new class; |
| 592 |
- `LegendItem` - added dataset and seriesKey attributes; |
| 593 |
- `Plot` - added new `fillBackground()` method to support `GradientPaint`, and added `is/setOutlineVisible()` methods; |
| 594 |
- `QuarterDateFormat` - added `GREEK_QUARTERS` field plus a new constructor; |
| 595 |
- `SimpleHistogramDataset` - added `clearObservations()` and `removeAllBins()` methods; |
| 596 |
- `TimeSeriesCollection` - added `indexOf()` method; |
| 597 |
- `URLUtilities` - new class; |
| 598 |
- `XYItemRenderer` - numerous series override settings have been deprecated; |
| 599 |
- `XYSeriesCollection` - added indexOf() method. |
| 600 |
|
| 601 |
###### Bug Fixes |
| 602 |
|
| 603 |
- 1735508 - `ClusteredXYBarRenderer` fails with inverted x-axis; |
| 604 |
- 1726404 - `ChartComposite` tooltips; |
| 605 |
- 1713474 - `StackedBarRenderer3D` doesn't fill shadows; |
| 606 |
- 1713401 - `StackedBarRenderer3D` doesn't check `drawBarOutline` flag; |
| 607 |
- 1701822 - `DefaultBoxAndWhiskerCategoryDataset` doesn't follow contracts; |
| 608 |
- 1698965 - NPE in `CombinedDomainXYPlot`; |
| 609 |
- 1690994 - `HideSeriesDemo1` does not work; |
| 610 |
- 1690654 - Bug in `removeValue()` of `DefaultKeyedValues2D`; |
| 611 |
- 1562701 - `LegendItemEntity` needs dataset index; |
| 612 |
- 1486299 - Use `URLEncoder.encode()` for URL generators; |
| 613 |
|
| 614 |
Plus the following bugs that didn't have entries in the database: |
| 615 |
|
| 616 |
- `BarRenderer` - check for series visibility in `getLegendItem()`; |
| 617 |
- `ChartPanel` - use correct insets for painting chart buffer to screen, update UI for popup menu if LookAndFeel changes; |
| 618 |
- `DateAxis` - fixed boundary cases for `previousStandardDate()` method; |
| 619 |
- `LineBorder` - only draw border if area has positive dimensions; |
| 620 |
- `JFreeChart` - should register as a listener with the default legend; |
| 621 |
- `StandardXYItemRenderer` - fixed a problem where chart entities are created for non-visible items; |
| 622 |
- `TimePeriodValuesCollection.getDomainBounds()` now computes the bounds correctly; |
| 623 |
- `XYLineAndShapeRenderer` - fixed a problem where chart entities are created for non-visible items; |
| 624 |
- `XYLine3DRenderer` - `equals()` implemented, and serialization fixed; |
| 625 |
- `XYTitleAnnotation` - fixed `equals()` method; |
| 626 |
- various resource usage bugs in the experimental `ChartComposite` class; |
| 627 |
|
| 628 |
##### Version 1.0.5 (23-Mar-2007) |
| 629 |
This release features: |
| 630 |
- a new `DeviationRenderer` class; |
| 631 |
- support for item labels in `StackedXYBarRenderer`; |
| 632 |
- tooltips and URLs in the `CategoryStepRenderer`; and |
| 633 |
- many bug fixes. |
| 634 |
|
| 635 |
###### API Adjustments |
| 636 |
|
| 637 |
- `AbstractCategoryItemRenderer` - added `createState()` method; |
| 638 |
- `StackedXYBarRenderer` - added `get/setRenderAsPercentages()` methods; |
| 639 |
- `XYIntervalSeries` - added `getXLowValue()`, `getXHighValue()`, `getYLowValue()` and `getYHighValue()`; |
| 640 |
- `YIntervalSeries` - added `getYLowValue()` and `getYHighValue()` methods; |
| 641 |
|
| 642 |
###### Bug Fixes |
| 643 |
|
| 644 |
- 1681777 - `DefaultCategoryDataset` does not clone data; |
| 645 |
- 1672552 - Zoom rectangle is lost when the chart is repainted; |
| 646 |
- 1671645 - `Crosshair` incorrectly positioned in horizontal orientation; |
| 647 |
- 1669302 - Tick labels in vertical symbol axis; |
| 648 |
- 1669218 - `CategoryPlot.setDomainAxisLocation()` ignores parameter; |
| 649 |
- 1667750 - Clip region not restored in `Spider` and `MeterPlot`; |
| 650 |
- 1663380 - OutputStream not closed; |
| 651 |
- 1659627 - `IntervalMarker` with `Double.POSITIVE_INFINITY` bound; |
| 652 |
- 1647269 - `IntervalMarker` with `Double.MAX_VALUE as upper` bound; |
| 653 |
- 1594477 - `XYBarRenderer` does not render bars on `LogarithmicAxis`; |
| 654 |
- 1459958 - Log axis zoom function problem; |
| 655 |
- 880597 - Zooming `ChartPanel` with log axes; |
| 656 |
- 764561 - Dynamic chart zoom buggy. |
| 657 |
|
| 658 |
Also fixed numerous bugs in equals(), cloning and serialization implementations. |
| 659 |
|
| 660 |
##### Version 1.0.4 (9-Feb-2007) |
| 661 |
|
| 662 |
This release features: |
| 663 |
- a new `XYBlockRenderer` class; |
| 664 |
- URLs for pie chart labels in HTML image maps; |
| 665 |
- a new dataset implementation for open-high-low-close charts; |
| 666 |
- support for gradient paint in `ClusteredXYBarRenderer`, `StackedXYBarRenderer` and legend graphics; |
| 667 |
- a new anchor attribute for `XYImageAnnotation`; |
| 668 |
- improvements to the experimental SWT support; plus |
| 669 |
- a number of additions to the API for usability; and |
| 670 |
- many bug fixes. |
| 671 |
|
| 672 |
###### API Adjustments |
| 673 |
|
| 674 |
- `DateAxis` - added `get/setTimeZone()` methods; |
| 675 |
- `DefaultXYDataset` - now implements `PublicCloneable`; |
| 676 |
- `StackedXYAreaRenderer2` - added `get/setRoundXValues()` methods; |
| 677 |
- `StandardXYItemLabelGenerator` - added new constructor; |
| 678 |
- `StandardXYToolTipGenerator` - added new constructor; |
| 679 |
- `XYBarDataset` - added `getUnderlyingDataset()` and `get/setBarWidth()` methods; |
| 680 |
- `XYDifferenceRenderer` - added `roundXCoordinates` attribute; |
| 681 |
- `XYImageAnnotation` - added an image anchor attribute, a new constructor, and several accessor methods; |
| 682 |
- `XYSeries` - added `toArray()` method; |
| 683 |
|
| 684 |
###### Bug Fixes |
| 685 |
|
| 686 |
- 1654215 - `XYPlot` renderer with no corresponding dataset; |
| 687 |
- 1652640 - `RangeMarkers` do not update properly; |
| 688 |
- 1649686 - `Crosshairs` for `StackedXYAreaRenderer`; |
| 689 |
- 1647749 - `IllegalArgumentException` in `SWTAxisEditor`; |
| 690 |
- 1644877 - Replacing series data in `DefaultXYDataset`; |
| 691 |
- 1644010 - `DateAxis.nextStandardDate()` ignores timezone; |
| 692 |
- 1638678 - `DateAxis` code uses the default calendar; |
| 693 |
- 1629382 - Tests fail for jfreechart-1.0.3; |
| 694 |
- 1624067 - `StandardXYToolTipGenerator` missing constructor; |
| 695 |
- 1616583 - Serialize `ChartDeleter`; |
| 696 |
- 1612770 - Popup menu in wrong position for SWT `ChartComposite`; |
| 697 |
- 1611872 - `Minute.previous()` returns null for minute == 0; |
| 698 |
- 1608371 - Tick labels overlap with custom `NumberFormat`; |
| 699 |
- 1606205 - Draw shared axis last on combined plots; |
| 700 |
- 1605207 - `IntervalMarker` exceeds bounds of data area; |
| 701 |
- 1605202 - `SpiderWebPlot` method access; |
| 702 |
- 1599652 - Inverted `StackedBar3D` problem; |
| 703 |
- 1598394 - `XYBarDataset` hiding its proxied object; |
| 704 |
- 1564967 - Crosshairs on `XYDifferenceRenderer`; |
| 705 |
- 1245305 - `NullPointerException` in `writeImageMap()`; |
| 706 |
- 1086307 - Crosshairs on plots with multiple axes. |
| 707 |
|
| 708 |
Also fixed numerous bugs in `equals()` and `clone()` methods throughout the API. |
| 709 |
|
| 710 |
##### Version 1.0.3 (17-Nov-2006) |
| 711 |
|
| 712 |
This release features: |
| 713 |
- several new `IntervalXYDataset` implementations; |
| 714 |
- some significant refactoring of the time period classes (to improve performance and correctness); |
| 715 |
- modifications to the `PiePlot` class to support reordering of dataset items; |
| 716 |
- a new event mechanism to allow updating of markers, plus |
| 717 |
- many other enhancements, bug fixes and documentation updates. |
| 718 |
|
| 719 |
A new `DialPlot` implementation has been added to the 'experimental' sources. |
| 720 |
We are looking for people to test this code and provide feedback, so that we |
| 721 |
can stabilize the API and add this code to the main JFreeChart API. |
| 722 |
|
| 723 |
###### API adjustments |
| 724 |
|
| 725 |
The following adjustments have been made to the API: |
| 726 |
|
| 727 |
- `CategoryLabelEntity` - new class; |
| 728 |
- `CategoryPointerAnnotation` - new class; |
| 729 |
- `ChartPanel`: added new public method `doEditChartProperties()`; |
| 730 |
- `ComparableObjectItem`, `ComparableObjectSeries` - new classes; |
| 731 |
- `CrosshairState`: added several new accessor methods; |
| 732 |
- `DefaultPieDataset`: added `sortByKeys()` and `sortByValues()` methods; |
| 733 |
- `Markers`: a change event mechanism has been added to the `Marker` class and its subclasses; |
| 734 |
- `StackedAreaRenderer`: added `get/setRenderAsPercentages()` methods; |
| 735 |
- `XIntervalDataItem`, `XIntervalSeries` and `XIntervalSeriesCollection` - new classes; |
| 736 |
- `XYErrorRenderer`: new class; |
| 737 |
- `XYInterval`, `XYIntervalDataItem`, `XYIntervalSeries` and `XYIntervalSeriesCollection` - new classes; |
| 738 |
- `YInterval`, `YIntervalDataItem`, `YIntervalSeries`, `YIntervalSeriesCollection` and `YWithXInterval` - new classes. |
| 739 |
|
| 740 |
###### Bug Fixes |
| 741 |
|
| 742 |
- 1578293 - Unused methods in `JDBCXYDataset`; |
| 743 |
- 1572478 - `BoxAndWhiskerRenderer` potential `NullPointerException`; |
| 744 |
- 1569094 - `XYStepRenderer` with horizontal orientation; |
| 745 |
- 1565168 - Crosshair position incorrect; |
| 746 |
- 1564977 - `DateAxis` missing initial tick label; |
| 747 |
- 1562759 - `StatisticalLineAndShapeRenderer` constructor ignores arguments; |
| 748 |
- 1557141 - Bad locale in `ServletUtilities`; |
| 749 |
- 1550045 - `TimeSeries.removeAgedItems()` method problems; |
| 750 |
- 1549218 - Chart not displaying when all data values are the same and large; |
| 751 |
- 1450447 - `Marker.setAlpha()` ignored; |
| 752 |
|
| 753 |
Also fixed URL generation for legend items, tick mark positioning on the |
| 754 |
`DateAxis`, the `equals()` method in the `AreaRenderer` class, hardcoded outline |
| 755 |
attributes in the `XYBubbleRenderer`, and potential `NullPointerExceptions` in the |
| 756 |
`ChartPanel` class. |
| 757 |
|
| 758 |
##### Version 1.0.2 (25-Aug-2006) |
| 759 |
|
| 760 |
###### API adjustments |
| 761 |
|
| 762 |
The following adjustments have been made to the API (there should be no breakage of applications coded to the 1.0.0 or 1.0.1 API): |
| 763 |
|
| 764 |
- `CategoryToPieDataset`: added accessor methods for underlying dataset, extract type and index (feature request 1477915); |
| 765 |
- `DefaultXYDataset`: New dataset implementation that uses double[] arrays; |
| 766 |
- `DefaultXYZDataset`: New dataset implementation that uses double[] arrays; |
| 767 |
- `LegendItemBlockContainer`: New container used in legends (enables legend item entities again); |
| 768 |
- `MultiplePiePlot`: Added new fields `aggregatedItemsKey` and `aggregatedItemsPaint`, plus accessor methods - see bug 1190647; |
| 769 |
- `SpiderWebPlot`: Added new fields `toolTipGenerator` and `urlGenerator`, plus accessor methods (see patch 1463455); |
| 770 |
- `StackedBarRenderer3D`: Added new flag (`renderAsPercentages`), plus accessor methods, that controls whether the data items are displayed as values or percentages. Two new constructors are also added (see patch 1459313); |
| 771 |
- `XYPolygonAnnotation`: Added new accessor methods. |
| 772 |
|
| 773 |
###### Patches |
| 774 |
|
| 775 |
- 1459313 - Add `renderAsPercentages` option to `StackedBarRenderer3D`; |
| 776 |
- 1462727 - Modify `SpiderWebPlot` to support zero values; |
| 777 |
- 1463455 - Modify `SpiderWebPlot` to support mouse clicks, tool tips and URLs; |
| 778 |
|
| 779 |
###### Bug Fixes |
| 780 |
|
| 781 |
- 1514904 - Background image alpha in `Plot` class; |
| 782 |
- 1499140 - `ClusteredXYBarRenderer` with margin not drawing correctly; |
| 783 |
- 1494936 - `LineAndShapeRenderer` generates entity for non-visible item; |
| 784 |
- 1493199 - NPE drawing `SpiderWebPlot` with null info; |
| 785 |
- 1480978 - `AbstractPieItemLabelGenerator.clone()` doesn't clone `percentFormat`; |
| 786 |
- 1472942 - `DateAxis.equals()` broken; |
| 787 |
- 1468794 - `StatisticalLineAndShapeRenderer` doesn't draw error bars correctly when the plot has a horizontal orientation; |
| 788 |
- `AbstractCategoryItemRenderer` doesn't check `seriesVisibleInLegend` flag before creating new item; |
| 789 |
- 1440415 - Bad distribution of pie chart section labels; |
| 790 |
- 1440346 - Bad manifest entry for JCommon in JFreeChart jar file; |
| 791 |
- 1435461 - `NumberAxis.equals()` ignores `rangeType` field; |
| 792 |
- 1435160 - `XYPointerAnnotation.equals()` ignores x and y fields; |
| 793 |
- 1398672 - `LegendItemEntities` not working; |
| 794 |
- 1380480 - `StandardXYItemRenderer` problems with `Double.NaN`; |
| 795 |
- 1190647 - Legend and section color mismatch for `MultiplePiePlot`. |
| 796 |
|
| 797 |
###### Miscellaneous Changes |
| 798 |
|
| 799 |
- Updated `CandlestickRenderer`, `CyclicXYItemRenderer`, `HighLowRenderer`, `XYStepAreaRenderer` and `TimeSeriesURLGenerator` to call dataset methods that return double primitive only; |
| 800 |
- Updated `XYPolygonAnnotation`, adding new accessor methods and fixing problems in the `equals()/hashCode()` methods; |
| 801 |
- `ChartFactory.createStackedXYAreaChart()` now uses `StackedXYAreaRenderer2`, for better handling of negative values; |
| 802 |
- Added crosshair support for `XYBarRenderer`. |
| 803 |
|
| 804 |
###### Experimental Code |
| 805 |
|
| 806 |
In this release, some new (incomplete) classes have been included in the |
| 807 |
`org.jfree.experimental.*` namespace. These classes are not part of the |
| 808 |
standard API, but are included for developers to experiment with and provide |
| 809 |
feedback on. Hopefully in the future, refined versions of these classes will |
| 810 |
be incorporated into the main library. PLEASE NOTE THAT THE API FOR THESE |
| 811 |
CLASSES IS SUBJECT TO CHANGE. |
| 812 |
|
| 813 |
##### Version 1.0.1 (27-Jan-2006) |
| 814 |
This is primarily a bug fix release. In addition, there are some API |
| 815 |
adjustments (there should be no breakage of applications coded to the 1.0.0 API). |
| 816 |
|
| 817 |
###### API adjustments |
| 818 |
- `BarRenderer`: added a new flag (`includeBaseInRange`), plus accessor |
| 819 |
methods, that controls whether or not the base value for the bar is |
| 820 |
included in the range calculated by the `findRangeBounds()` method; |
| 821 |
- `BubbleXYItemLabelGenerator`: new class; |
| 822 |
- `Range`: added a new method `expandToInclude(Range, double)`, this is used by |
| 823 |
the `BarRenderer` class; |
| 824 |
- `TaskSeriesCollection`: added two new methods, `getSeries(int)` and |
| 825 |
`getSeries(Comparable)`; |
| 826 |
- `TimeSeriesCollection`: the `domainIsPointsInTime` flag has been deprecated. |
| 827 |
The flag serves no function now that renderers are used to calculate the domain |
| 828 |
bounds, so you can safely delete any calls to the `setDomainIsPointsInTime()` |
| 829 |
method; |
| 830 |
- `XYPlot`: added a new `getAnnotations()` method; |
| 831 |
- `XYSeries`: the `update(int, Number)` method has been deprecated and a new |
| 832 |
method `updateByIndex(int, Number)` has been added; |
| 833 |
|
| 834 |
###### Bug fixes |
| 835 |
|
| 836 |
- 1243050 - `XYBarRenderer` doesn't show entire range of values for a `TimeSeriesCollection`; |
| 837 |
- 1373371 - `XYBubbleRenderer` doesn't support item labels; |
| 838 |
- 1374222 - `BarRenderer` contains JDK 1.4 specific code; |
| 839 |
- 1374328 - `LegendItem` serialization problem; |
| 840 |
- 1377239 - Bad argument checking in `Quarter` constructor; |
| 841 |
- 1379331 - Incorrect drawing of `TextTitle` at LEFT or RIGHT position; |
| 842 |
- 1386328 - `RingPlot` entity incorrect; |
| 843 |
- 1400442 - Inconsistent treatment of null and zero values in `PiePlot`; |
| 844 |
- 1401856 - Bad rendering for non-zero base values in `BarRenderer`; |
| 845 |
- 1403043 - `NullPointerException` in `CategoryAxis`; |
| 846 |
- 1408904 - `NumberAxis3D` assumes `CategoryPlot`; |
| 847 |
- 1415480 - `XYTextAnnotation` equals() method doesn't check (x, y); |
| 848 |
|
| 849 |
##### Version 1.0.0 (2-Dec-2005) |
| 850 |
- the first stable release of the JFreeChart class library, all future releases in the 1.0.x series will aim to maintain backward compatibility with this release; |
| 851 |
|
| 852 |
##### Version 1.0.0-rc3 (28-Nov-2005) |
| 853 |
- the third "release candidate" for version 1.0.0, this release fixes some issues with the 1.0.0-rc2 release (mainly concerning packaging of resource bundles for localisation). |
| 854 |
- if no significant problems are reported in the next few days, the 1.0.0 "final" release will be posted on 2-Dec-2005. |
| 855 |
|
| 856 |
##### Version 1.0.0-rc2 (25-Nov-2005) |
| 857 |
- the second "release candidate" for version 1.0.0. If no problems are reported, 1.0.0 "final" will be released on 2-Dec-2005. |
| 858 |
|
| 859 |
##### Version 1.0.0-rc1 (2-Jun-2005) |
| 860 |
- this is a "release candidate" for version 1.0.0. If no significant API problems are reported, this release will be re-released as version 1.0.0. |
| 861 |
|
| 862 |
##### Version 1.0.0-pre2 (10-Mar-2005) |
| 863 |
|
| 864 |
##### Version 1.0.0-pre1 (29-Nov-2004) |
| 865 |
|
| 866 |
##### Version 0.9.21 (9-Sep-2004) |
| 867 |
- added new axes: `PeriodAxis` and `ModuloAxis`. |
| 868 |
- split `org.jfree.data` and `org.jfree.chart.renderer` into subpackages for 'category' and 'xy' charts. |
| 869 |
- Sun PNG encoder is now used, if available. |
| 870 |
- a new demo application makes it easier to preview the chart types that JFreeChart can create. |
| 871 |
- added a new series visibility flag to the `AbstractRenderer` class. |
| 872 |
- added support for `GradientPaint` in interval markers. |
| 873 |
|
| 874 |
##### Version 0.9.20 (7-Jun-2004) |
| 875 |
- primarily bug fixes. |
| 876 |
|
| 877 |
##### Version 0.9.19 (28-May-2004) |
| 878 |
- added methods to `XYDataset` that return double primitives; |
| 879 |
- removed distinction between "primary" and "secondary" datasets, renderers and axes; |
| 880 |
- added fixed legend item options to `CategoryPlot` and `XYPlot`; |
| 881 |
- legend changes by Barek Naveh; |
| 882 |
- removed Log4j dependency; |
| 883 |
- many, many bug fixes; |
| 884 |
|
| 885 |
##### Version 0.9.18 (15-Apr-2004) |
| 886 |
- new legend anchor options; |
| 887 |
- fixed broken JPEG export; |
| 888 |
- fixed title size problems; |
| 889 |
- various other bug fixes; |
| 890 |
|
| 891 |
##### Version 0.9.17 (26-Mar-2004) |
| 892 |
- pie chart enhancements for labelling, shading and multiple pie charts (2D or 3D) on a single plot; |
| 893 |
- new `PolarPlot` class added; |
| 894 |
- `XYSeries` can now be sorted or unsorted; |
| 895 |
- `createBufferedImage()` method can now scale charts; |
| 896 |
- domain and range markers now support intervals; |
| 897 |
- item labels are now supported by some `XYItemRenderers`; |
| 898 |
- tooltip and item label generators now use `MessageFormat` class; |
| 899 |
- added new `XYBarDataset` class; |
| 900 |
- added transparency support to PNG export; |
| 901 |
- numerous other small enhancements and bug fixes; |
| 902 |
|
| 903 |
##### Version 0.9.16 (09-Jan-2004) |
| 904 |
- this release contains bug fixes and some minor feature enhancements (title and category label wrapping, legend shape scaling, enhanced performance for the `DefaultTableXYDataset` class); |
| 905 |
- added Spanish localisation files; |
| 906 |
|
| 907 |
##### Version 0.9.15 (28-Nov-2003) |
| 908 |
- the focus of this release is bug fixes - quite a number of issues have been resolved, please check the bug database for details; |
| 909 |
- added a new Wafer Map chart type; |
| 910 |
- added a cyclic axis; |
| 911 |
- added localisation files for _ru; |
| 912 |
|
| 913 |
##### Version 0.9.14 (17-Nov-2003) |
| 914 |
- implemented zooming for the `FastScatterPlot` class; |
| 915 |
- added item label support for stacked bar charts, and new fall back options for item labels that don't fit within bars; |
| 916 |
- modified the `CategoryAxis` class to allow additional options for the alignment and rotation of category labels; |
| 917 |
- addition of the `AxisState` class, used in the drawing of axes to eliminate a bug when multiple threads draw the same axis simultaneously; |
| 918 |
- provided additional attributes in the `DateTickUnit` class to improve labelling on a segmented `DateAxis`; |
| 919 |
- added support for `GradientPaint` in bar charts; |
| 920 |
- updated the `PNGEncoder`; |
| 921 |
- fixes for tick label positioning on axes; |
| 922 |
- various Javadoc updates; |
| 923 |
- numerous bug fixes; |
| 924 |
|
| 925 |
##### Version 0.9.13 (26-Sep-2003) |
| 926 |
- various enhancements to the stacked area XY charts; |
| 927 |
- added a completion indicator for the Gantt chart; |
| 928 |
- range and domain markers can now be placed in the foreground or the |
| 929 |
background; |
| 930 |
- more fixes for cloning and serialization; |
| 931 |
- fixed mouse event bug for combined charts; |
| 932 |
- fixed bugs in the PngEncoder class; |
| 933 |
- incorporated .properties files that were missing from the 0.9.12 |
| 934 |
distribution; |
| 935 |
|
| 936 |
##### Version 0.9.12 (11-Sep-2003) |
| 937 |
- extended box-and-whisker plots to work with the CategoryPlot class |
| 938 |
as well as the XYPlot class (based on work by David Browning); |
| 939 |
- added a new LayeredBarRenderer (by Arnaud Lelievre); |
| 940 |
- added support for stacked area charts with the XYPlot class (thanks |
| 941 |
to Richard Atkinson); |
| 942 |
- improved HTML image map support (thanks to Richard Atkinson); |
| 943 |
- added localized resources for the chart property editors (thanks to |
| 944 |
Arnaud Lelievre). Current translations include French and Portugese |
| 945 |
(thanks to Eduardo Ramalho); |
| 946 |
- added facility for setting all rendering hints; |
| 947 |
- improved support for cloning and serialization; |
| 948 |
- fixed a bug in the XYSeries class that prevented the TableXYDataset |
| 949 |
from functioning correctly; |
| 950 |
- improved date axis labelling with segmented time lines; |
| 951 |
- fixed several bugs in the secondary dataset/axis/renderer code; |
| 952 |
- fixed bugs in the JDBCCategoryDataset class; |
| 953 |
- numerous other bug fixes; |
| 954 |
|
| 955 |
##### Version 0.9.11 (8-Aug-2003) |
| 956 |
- added support for box-and-whisker plots, thanks to David Browning; |
| 957 |
- lots of bug fixes; |
| 958 |
|
| 959 |
##### Version 0.9.10 (25-Jul-2003) |
| 960 |
- added support for multiple secondary axes, datasets and |
| 961 |
renderers; |
| 962 |
- minor feature enhancements and bug fixes; |
| 963 |
|
| 964 |
##### Version 0.9.9 (10-Jul-2003) |
| 965 |
|
| 966 |
PLEASE NOTE THAT MAJOR CHANGES HAVE BEEN MADE IN THIS |
| 967 |
RELEASE AND ONE OR TWO FEATURES MAY BE BROKEN. PLEASE REPORT BUGS SO THEY CAN |
| 968 |
BE FIXED FOR THE NEXT RELEASE. |
| 969 |
|
| 970 |
- merged the HorizontalCategoryPlot and VerticalCategoryPlot classes, |
| 971 |
into the CategoryPlot class; |
| 972 |
- merged the horizontal and vertical axis classes; |
| 973 |
- merged the horizontal and vertical renderer classes; |
| 974 |
- CategoryPlot and XYPlot now support both horizontal and vertical |
| 975 |
orientation via the setOrientation(...) method; |
| 976 |
- merged horizontal and vertical methods in the ChartFactory class; |
| 977 |
- created new combined plot classes: CombinedDomainCategoryPlot, |
| 978 |
CombinedRangeCategoryPlot, CombinedDomainXYPlot and |
| 979 |
CombinedRangeXYPlot (these can all be drawn with a horizontal or |
| 980 |
vertical orientation); |
| 981 |
- Bill Kelemen has enhanced the DateAxis class to handle segmented |
| 982 |
timelines. This can be used, for example, to skip weekends for |
| 983 |
daily stock price charts; |
| 984 |
- Richard Atkinson has updated the ServletUtilities class; |
| 985 |
- Bryan Scott has added an XYDatasetTableModel class for presenting |
| 986 |
datasets in a JTable; |
| 987 |
- modified XYPlot to allow renderers to use multiple passes through |
| 988 |
the dataset; |
| 989 |
- added new XYDifferenceRenderer; |
| 990 |
- added support for colored bands between gridlines in XYPlot; |
| 991 |
- added new XYDrawableAnnotation class; |
| 992 |
- added a new attribute to control the order of dataset rendering in |
| 993 |
a CategoryPlot; |
| 994 |
- extended the value label mechanism for the renderers, to allow |
| 995 |
better (per series) control over label generation, positioning and |
| 996 |
visibility; |
| 997 |
- CategoryItemTooltipGenerator has been renamed |
| 998 |
CategoryItemLabelGenerator, since it is now being used to generated |
| 999 |
item labels as well as tooltips; |
| 1000 |
- there is now support for horizontal stacked 3D bar charts; |
| 1001 |
- added support for range markers against secondary axis in a |
| 1002 |
CategoryPlot; |
| 1003 |
- added labels to domain and range markers; |
| 1004 |
- added a new HistogramDataset class (contributed by Jelai Wang) to |
| 1005 |
make it easier to create histograms with JFreeChart; |
| 1006 |
- moved the DrawingSupplier into the plot class, renderers now |
| 1007 |
reference the supplier from the plot (parent plot for combined and |
| 1008 |
overlaid charts). This means that renderers now share a single |
| 1009 |
DrawingSupplier by default, which simplifies the creation of |
| 1010 |
combined charts; |
| 1011 |
- changed the ColorBarAxis classes that extended the NumberAxis class, |
| 1012 |
to a single ColorBar class that wraps a ValueAxis (may have broken |
| 1013 |
one or two things in the process); |
| 1014 |
- Barak Naveh has contributed new classes MatrixSeries and |
| 1015 |
MatrixSeriesCollection, along with demos: BubblyBubblesDemo.java |
| 1016 |
and BubblyBubblesDemo2.java; |
| 1017 |
- the TextTitle class now has a background paint attribute; |
| 1018 |
- the StandardLegend class now generates LegendEntity objects if a |
| 1019 |
ChartRenderingInfo instance is supplied to the draw(...) method; |
| 1020 |
- extended the CategoryTextAnnotation class to take into account a |
| 1021 |
category anchor point. See the SurveyResultsDemo.java application |
| 1022 |
for an example; |
| 1023 |
- included numerous bug fixes; |
| 1024 |
|
| 1025 |
##### Version 0.9.8 (24-Apr-2003) |
| 1026 |
- changed package naming from com.jrefinery.* to org.jfree.*; |
| 1027 |
- added new TimePeriodValuesCollection class; |
| 1028 |
- added MIME type code to ServletUtilities class; |
| 1029 |
- reversed the order of PieDataset and KeyedValuesDataset in |
| 1030 |
the class hierarchy; |
| 1031 |
- reversed the order of CategoryDataset and KeyedValues2DDataset |
| 1032 |
in the class hierarchy; |
| 1033 |
- minor bug fixes; |
| 1034 |
|
| 1035 |
##### Version 0.9.7 (11-Apr-2003) |
| 1036 |
- added a new ValueDataset interface and DefaultValueDataset |
| 1037 |
class, and changed the CompassPlot class to use this instead |
| 1038 |
of MeterDataset; |
| 1039 |
- added DataUtilities class, to support creation of Pareto |
| 1040 |
charts (new demo included); |
| 1041 |
- updated writeImageMap method as suggested by Xavier Poinsard |
| 1042 |
(see Feature Request 688079); |
| 1043 |
- implemented Serializable for most classes (this is likely to |
| 1044 |
require further testing); |
| 1045 |
- incorporated contour plot updates from David M. O'Donnell; |
| 1046 |
- added new CategoryTextAnnotation and XYLineAnnotation |
| 1047 |
classes; |
| 1048 |
- added new HorizontalCategoryAxis3D class contributed by |
| 1049 |
Klaus Rheinwald; |
| 1050 |
|
| 1051 |
Bug fixes: |
| 1052 |
- added a workaround for JVM crash (a JDK bug) in pie charts |
| 1053 |
with small sections (see bug report 620031); |
| 1054 |
- fixed minor bug in HorizontalCategoryPlot constructor (see |
| 1055 |
bug report 702248); |
| 1056 |
- added code to ensure HorizontalNumberAxis3D is not drawn if |
| 1057 |
it is not visible (see bug report 702466); |
| 1058 |
- added small fix for suppressed chart change events (see bug |
| 1059 |
report 690865); |
| 1060 |
- added pieIndex parameter to tooltip and URL generators for |
| 1061 |
pie charts; |
| 1062 |
- fixed bug in getLastMillisecond() method for the Second |
| 1063 |
class and the getFirstMillisecond() method for the Year |
| 1064 |
class (picked up in JUnit tests); |
| 1065 |
- in TextTitle, changed width used for relative spacing to fix |
| 1066 |
bug 703050; |
| 1067 |
|
| 1068 |
##### Version 0.9.6 (17-Feb-2003) Bug fixes: |
| 1069 |
- fixed null pointer exception in DefaultCategoryDataset; |
| 1070 |
- fixed update problem for PaintTable, StrokeTable and |
| 1071 |
ShapeTable objects; |
| 1072 |
- added methods to control colors in PiePlot (these were |
| 1073 |
inadvertantly removed in the changes made for 0.9.5); |
| 1074 |
- fixed auto-range update problem for secondary axis; |
| 1075 |
- fixed missing category labels in the overlaid category plot; |
| 1076 |
- fixed constructors for symbolic axes; |
| 1077 |
- corrected error in Javadoc generation (Ant script); |
| 1078 |
|
| 1079 |
##### Version 0.9.5 (6-Feb-2003) |
| 1080 |
|
| 1081 |
PLEASE NOTE THAT MAJOR CHANGES TO THE |
| 1082 |
JFREECHART API HAVE BEEN MADE IN THIS RELEASE! |
| 1083 |
|
| 1084 |
- added support for secondary axes, datasets and renderers; |
| 1085 |
- added new data interfaces (Value, Values, Values2D, |
| 1086 |
KeyedValues and KeyedValues2D) and incorporated these into |
| 1087 |
the existing PieDataset and CategoryDataset interfaces. |
| 1088 |
- modified the CategoryDataset interface to be more |
| 1089 |
symmetrical, data is organised in rows and columns (as |
| 1090 |
before) but can now be accessed by row/column index or |
| 1091 |
row/column key. |
| 1092 |
- added support for reading PieDatasets and CategoryDatasets |
| 1093 |
from XML files. |
| 1094 |
- created separate packages for the axes |
| 1095 |
(com.jrefinery.chart.axis), plots (com.jrefinery.chart.plot) |
| 1096 |
and renderers (com.jrefinery.chart.renderer). |
| 1097 |
- series attributes (paint, outline paint, stroke and shape) |
| 1098 |
are now controlled by the renderer classes using lookup |
| 1099 |
tables. Introduced the DrawingSupplier interface (and |
| 1100 |
DefaultDrawingSupplier class) which is used to populate the |
| 1101 |
lookup tables from a common source (necessary to coordinate |
| 1102 |
complex combined charts). |
| 1103 |
- the chart legend can now display shapes corresponding to |
| 1104 |
series. |
| 1105 |
- moved responsibility for category distribution to the |
| 1106 |
CategoryAxis class, which tidies up the code in the |
| 1107 |
CategoryPlot classes. |
| 1108 |
- gridlines are now controlled by the CategoryPlot and XYPlot |
| 1109 |
classes, not the axes (included in this change is the |
| 1110 |
addition of gridlines for the CategoryPlot domain values). |
| 1111 |
- changed the list of titles in the JFreeChart class to a |
| 1112 |
title and a list of subtitles. |
| 1113 |
- added new renderers for XYPlot (XYBubbleRenderer and |
| 1114 |
YIntervalRenderer). |
| 1115 |
- modified Gantt chart to display sub-tasks. |
| 1116 |
- added ContourPlot class (still experimental) by David |
| 1117 |
M. O'Donnell. |
| 1118 |
- introduced new MovingAverage class. |
| 1119 |
- ChartMouseEvent now includes source chart. |
| 1120 |
- numerous bug fixes. |
| 1121 |
- lots of Javadoc updates. |
| 1122 |
|
| 1123 |
##### Version 0.9.4 (18-Oct-2002) |
| 1124 |
|
| 1125 |
Added a new stacked area chart (contributed by Dan |
| 1126 |
Rivett) and a compass plot (contributed by Bryan Scott). Updated |
| 1127 |
the ThermometerPlot class. Added a new XYDotRenderer for scatter |
| 1128 |
plots. Modified combined and overlaid plots to use the series colors |
| 1129 |
specified in the sub plot rather than the parent plot (this makes it |
| 1130 |
easier to align the colors in the legend). Added Regression class |
| 1131 |
for linear and power regressions. BasicTimeSeries can now |
| 1132 |
automatically drop "old" data. Some clean-up work in the code for |
| 1133 |
tooltips and the event listener mechanism. Richard Atkinson has |
| 1134 |
incorporated some useful extensions for servlets/JSP developers. |
| 1135 |
|
| 1136 |
Ran Checkstyle and corrected issues reported for most classes. |
| 1137 |
Checkstyle is a free utility that you can download from: |
| 1138 |
|
| 1139 |
http://checkstyle.sourceforge.net |
| 1140 |
|
| 1141 |
Fixed bugs and updated documentation. |
| 1142 |
|
| 1143 |
API changes include: |
| 1144 |
- added tickMarkPaint to Axis constructor (also affects |
| 1145 |
subclasses); |
| 1146 |
- added getLegendItems() to Plot, and deprecated |
| 1147 |
getLegendItemLabels(); |
| 1148 |
- added getLegendItem(int) to XYItemRenderer and |
| 1149 |
CategoryItemRenderer. |
| 1150 |
- most 'protected' member variables have been changed to |
| 1151 |
'private'. |
| 1152 |
|
| 1153 |
##### Version 0.9.3 (4-Sep-2002) |
| 1154 |
|
| 1155 |
- Added multiple pie charts based on `CategoryDataset`; |
| 1156 |
- Updated logarithmic axes; |
| 1157 |
- Improved URL support for image map generation; |
| 1158 |
- Moved the `com.jrefinery.data` package from JCommon to JFreeChart. |
| 1159 |
- Added simple framework for chart annotations; |
| 1160 |
- Improved control over renderers; |
| 1161 |
- Duplicate x-values now allowed in `XYSeries`; |
| 1162 |
- Optional category label skipping in category axes; |
| 1163 |
- Added `CategoriesPaint` attribute to `AbstractCategoryItemRenderer`; |
| 1164 |
- Added new attributes to `MeterPlot` class; |
| 1165 |
- Updated 3D pie chart to observe start angle and direction, and also foreground alpha < 1.0;
|
| 1166 |
- Improved Javadoc comments; |
| 1167 |
- New demo applications, including: `AnnotationDemo1`, `EventFrequencyDemo`, `JDBCCategoryChartDemo`, `JDBCPieChartDemo`, `JDBCXYChartDemo` and `MinMaxCategoryPlotDemo`. |
| 1168 |
|
| 1169 |
Bug fixes: |
| 1170 |
- negative percentages on `PiePlot`; |
| 1171 |
- added listener notification to `setXXXAxis(...)` methods; |
| 1172 |
- fixed `DomainInfo` method name clash; |
| 1173 |
- added `DomainIsPointsInTime` flag to `TimeSeriesCollection` to give better control over auto range on axis for time series charts; |
| 1174 |
- axis margins for date axes are no longer hard-coded; |
| 1175 |
- fix for ordering of categories in `JdbcCategoryDataset`; |
| 1176 |
- added check for `null` axis in mouse click handler. |
| 1177 |
|
| 1178 |
The CVS repository at SourceForge has also been restructured to match the distribution directory layout. |
| 1179 |
|
| 1180 |
|
| 1181 |
##### Version 0.9.2 (28-Jun-2002) |
| 1182 |
|
| 1183 |
- `PiePlot` now has `startAngle` and `direction` attributes; |
| 1184 |
- added support for image map generation; |
| 1185 |
- added a new `Pie3DPlot` class; |
| 1186 |
- added label drawing code to bar renderers; |
| 1187 |
- added optional range markers to horizontal number axis; |
| 1188 |
- added bar clipping to avoid PRExceptions in bar charts; |
| 1189 |
- `JFreeChartDemo` has been modified and now includes examples of the dial and thermometer plots. |
| 1190 |
|
| 1191 |
######Bug fixes |
| 1192 |
|
| 1193 |
- auto range for `VerticalNumberAxis` when zero is forced to be included in the range; |
| 1194 |
- fixed null pointer exception in `StackedVerticalBarRenderer3D`; |
| 1195 |
- added get/set methods for min/max chart drawing dimensions in `ChartPanel`; |
| 1196 |
- `HorizontalIntervalBarRenderer` now handles single category; |
| 1197 |
- `verticalTickLabels` now possible in `HorizontalNumberAxis3D`; |
| 1198 |
- removed unnecessary imports; |
| 1199 |
|
| 1200 |
|
| 1201 |
##### Version 0.9.1 (14-Jun-2002) |
| 1202 |
|
| 1203 |
Bug fixes and Javadoc updates. |
| 1204 |
|
| 1205 |
- fixed auto range calculation for category plots; |
| 1206 |
- fixed event notification for `XYPlot`; |
| 1207 |
- fixed auto axis range for Gantt charts; |
| 1208 |
- check for null popup menu in `ChartPanel.mouseDragged`; |
| 1209 |
- new checks for null info in renderers; |
| 1210 |
- range markers now drawn only if in visible axis range; |
| 1211 |
|
| 1212 |
|
| 1213 |
##### Version 0.9.0 (7-Jun-2002) |
| 1214 |
|
| 1215 |
- new plots including an area chart, a horizontal 3D bar chart, a Gantt chart |
| 1216 |
and a thermometer chart; |
| 1217 |
- combination plots have been reworked to provide a simpler framework, and |
| 1218 |
extends to allow category plots to be combined; |
| 1219 |
- there is now a facility to add a `ChartMouseListener` to the `ChartPanel` |
| 1220 |
(formerly `JFreeChartPanel`); |
| 1221 |
- an interactive zooming feature (experimental at this point) is now available |
| 1222 |
for `XYPlots`; |
| 1223 |
- a new Polish translation has been added; |
| 1224 |
- several fixes have been applied to the default tool tip generators; |
| 1225 |
- a workaround has been added to fix the alignment between time series charts |
| 1226 |
and the date axis; |
| 1227 |
- there are some improvements to the `VerticalLogarithmicAxis` class, and now a |
| 1228 |
corresponding `HorizontalLogarithmicAxis` class; |
| 1229 |
- additional demonstration applications have been added; |
| 1230 |
- fixed the popup menu bug. |
| 1231 |
|
| 1232 |
|
| 1233 |
##### Version 0.8.1 (5-Apr-2002) |
| 1234 |
|
| 1235 |
- Localised resource bundles for French, German and Spanish languages (thanks to |
| 1236 |
Anthony Boulestreau, Thomas Meier and Hans-Jurgen Greiner for the translations); |
| 1237 |
- an area XY plot and meter chart contributed by Hari; |
| 1238 |
- symbol charts contributed by Anthony Boulestreau; |
| 1239 |
- an improved `CandleStickRenderer` class from Sylvain Vieujot; |
| 1240 |
- updated servlet code from Bryan Scott; |
| 1241 |
- `XYItemRenderers` now have a change listener mechanism and therefore do not |
| 1242 |
have to be immutable; |
| 1243 |
- additional demonstration applications for individual chart types; |
| 1244 |
- minor bug fixes. |
| 1245 |
|
| 1246 |
|
| 1247 |
##### Version 0.8.0 (22-Mar-2002) |
| 1248 |
|
| 1249 |
- all the category plots are now controlled through the one class (`CategoryPlot`) with plug-in renderers; |
| 1250 |
- added a `ResourceBundle` for user interface items that require localisation; |
| 1251 |
- added a logarithmic axis class contributed by Mike Duffy and some new JDBC and servlet code contributed by Bryan Scott; |
| 1252 |
- updated the JCommon class library to improve handling of time periods in different time zones. |
| 1253 |
|
| 1254 |
|
| 1255 |
##### Version 0.7.4 (6-Mar-2002) |
| 1256 |
|
| 1257 |
- bug fixes in the JCommon Class Library; |
| 1258 |
- various Javadoc comment updates; |
| 1259 |
- some minor changes to the code; |
| 1260 |
- added new domain name (http://www.object-refinery.com) in the source headers. |
| 1261 |
|
| 1262 |
|
| 1263 |
##### Version 0.7.3 (14-Feb-2002) |
| 1264 |
|
| 1265 |
Bug fixes. |
| 1266 |
|
| 1267 |
|
| 1268 |
##### Version 0.7.2 (8-Feb-2002) |
| 1269 |
|
| 1270 |
- integrated the `WindPlot` code from Achilleus Mantzios; |
| 1271 |
- added an optional background image for the `JFreeChart` class; |
| 1272 |
- added an optional background image for the `Plot` class; |
| 1273 |
- added alpha-transparency for the plot foreground and background; |
| 1274 |
- added new pie chart label types that show values; |
| 1275 |
- fixed a bug with the legend that results in a loop at small chart sizes; |
| 1276 |
- added some tooltip methods that were missing from the previous version; |
| 1277 |
- changed the `Insets` class on chart titles to a new `Spacer` class that will |
| 1278 |
allow for relative or absolute insets (the plan is to eventually replace all |
| 1279 |
`Insets` in the `JFreeChart` classes); |
| 1280 |
- fixed a bug in the `setAutoRangeIncludesZero` method of the `NumberAxis` class; |
| 1281 |
- added the instructions that were missing from the copies of the GNU Lesser General Public Licence included with JFreeChart. |
| 1282 |
|
| 1283 |
|
| 1284 |
##### Version 0.7.1 (25-Jan-2002) |
| 1285 |
|
| 1286 |
- added tooltips, crosshairs and zooming functions, thanks to Jonathan Nash and Hans-Jurgen Greiner |
| 1287 |
for contributing the code that these features are based on; |
| 1288 |
- moved the combination charts into the package `com.jrefinery.chart.combination`; |
| 1289 |
- made a number of other small API changes and fixed some bugs; |
| 1290 |
- removed the Javadoc HTML from the download to save space (you can regenerate it from the source code if you need it). |
| 1291 |
|
| 1292 |
|
| 1293 |
##### Version 0.7.0 (11-Dec-2001) |
| 1294 |
|
| 1295 |
- new combination plots developed by Bill Kelemen; |
| 1296 |
- added Wolfgang Irler's servlet demo to the standard download; |
| 1297 |
- the About window in the demo application now includes a list of developers that have contributed to the project. |
| 1298 |
|
| 1299 |
|
| 1300 |
##### Version 0.6.0 (27-Nov-2001) |
| 1301 |
|
| 1302 |
- new plots including scatter plot, stacked bar charts and 3D bar charts; |
| 1303 |
- improved pie chart; |
| 1304 |
- data interfaces and classes moved to the JCommon class library; |
| 1305 |
- new properties to control spacing on bar charts; |
| 1306 |
- new auto-tick mechanism; |
| 1307 |
- `JFreeChartPanel` now incorporates buffering, and popup menu; |
| 1308 |
- Javadocs revised; |
| 1309 |
- fixed numerous bugs from version 0.5.6; |
| 1310 |
- demo application updated. |
| 1311 |
|
| 1312 |
|
| 1313 |
CONTRIBUTORS |
| 1314 |
------------ |
| 1315 |
JFreeChart wouldn't be half the library that it is today without the contributions (large and small) that have been made by the developers listed below: |
| 1316 |
|
| 1317 |
- Eric Alexander |
| 1318 |
- Richard Atkinson |
| 1319 |
- David Basten |
| 1320 |
- David Berry |
| 1321 |
- Chris Boek |
| 1322 |
- Zoheb Borbora |
| 1323 |
- Anthony Boulestreau |
| 1324 |
- Jeremy Bowman |
| 1325 |
- Nicolas Brodu |
| 1326 |
- Jody Brownell |
| 1327 |
- David Browning |
| 1328 |
- Soren Caspersen |
| 1329 |
- Thomas A Caswell |
| 1330 |
- Chuanhao Chiu |
| 1331 |
- Brian Cole |
| 1332 |
- Pascal Collet |
| 1333 |
- Martin Cordova |
| 1334 |
- Paolo Cova |
| 1335 |
- Greg Darke |
| 1336 |
- Mike Duffy |
| 1337 |
- Don Elliott |
| 1338 |
- Rune Fauske |
| 1339 |
- Jonathan Gabbai |
| 1340 |
- Serge V. Grachov |
| 1341 |
- Daniel Gredler |
| 1342 |
- Joao Guilherme Del Valle |
| 1343 |
- Hans-Jurgen Greiner |
| 1344 |
- Nick Guenther |
| 1345 |
- Aiman Han |
| 1346 |
- Cameron Hayne |
| 1347 |
- Martin Hoeller (xS+S) |
| 1348 |
- Jon Iles |
| 1349 |
- Wolfgang Irler |
| 1350 |
- Sergei Ivanov |
| 1351 |
- Nina Jeliazkova |
| 1352 |
- Adriaan Joubert |
| 1353 |
- Darren Jung |
| 1354 |
- Xun Kang |
| 1355 |
- Bill Kelemen |
| 1356 |
- Norbert Kiesel |
| 1357 |
- Petr Kopac |
| 1358 |
- Gideon Krause |
| 1359 |
- Dave Law; |
| 1360 |
- Pierre-Marie Le Biot |
| 1361 |
- Simon Legner |
| 1362 |
- Arnaud Lelievre |
| 1363 |
- Wolfgang Lenhard |
| 1364 |
- Leo Leung |
| 1365 |
- David Li |
| 1366 |
- Yan Liu |
| 1367 |
- Tin Luu |
| 1368 |
- Craig MacFarlane |
| 1369 |
- Achilleus Mantzios |
| 1370 |
- John Matthews |
| 1371 |
- Thomas Meier |
| 1372 |
- Jim Moore |
| 1373 |
- Jonathan Nash |
| 1374 |
- Barak Naveh |
| 1375 |
- David M. O'Donnell |
| 1376 |
- Krzysztof Paz |
| 1377 |
- Eric Penfold |
| 1378 |
- Tomer Peretz |
| 1379 |
- Xavier Poinsard |
| 1380 |
- Andrzej Porebski |
| 1381 |
- Viktor Rajewski |
| 1382 |
- Eduardo Ramalho |
| 1383 |
- Michael Rauch |
| 1384 |
- Klaus Rheinwald |
| 1385 |
- Cameron Riley |
| 1386 |
- Dan Rivett |
| 1387 |
- Lukasz Rzeszotarski |
| 1388 |
- Scott Sams |
| 1389 |
- Michel Santos |
| 1390 |
- Thierry Saura |
| 1391 |
- Patrick Schlott |
| 1392 |
- Andreas Schneider |
| 1393 |
- Christoph Schroeder |
| 1394 |
- Jean-Luc SCHWAB |
| 1395 |
- Bryan Scott |
| 1396 |
- Tobias Selb |
| 1397 |
- Darshan Shah |
| 1398 |
- Mofeed Shahin |
| 1399 |
- Michael Siemer |
| 1400 |
- Pady Srinivasan |
| 1401 |
- Greg Steckman |
| 1402 |
- Roger Studner |
| 1403 |
- Gerald Struck |
| 1404 |
- Irv Thomae |
| 1405 |
- Eric Thomas |
| 1406 |
- Rich Unger |
| 1407 |
- Daniel van Enckevort |
| 1408 |
- Laurence Vanhelsuwe |
| 1409 |
- Sylvain Vieujot |
| 1410 |
- Jelai Wang |
| 1411 |
- Mark Watson |
| 1412 |
- Alex Weber |
| 1413 |
- Richard West |
| 1414 |
- Matthew Wright |
| 1415 |
- Benoit Xhenseval |
| 1416 |
- Christian W. Zuckschwerdt |
| 1417 |
- Hari |
| 1418 |
- Sam (oldman) |
| 1419 |
|
| 1420 |
It is possible that I have missed someone on this list, if that applies to you, please e-mail me. |
| 1421 |
|
| 1422 |
Dave Gilbert (david.gilbert@object-refinery.com) |
| 1423 |
|
| 1424 |
JFreeChart Project Leader |