root / tmp / org.txm.libs.jfreechart / about.html @ 3122
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 |