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