README.txt 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864
  1. ********************************
  2. * JFREECHART: Version 1.0.19 *
  3. ********************************
  4. 31 July 2014
  5. (C)opyright 2000-2014, by Object Refinery Limited and Contributors.
  6. -----------------
  7. 1. INTRODUCTION
  8. -----------------
  9. JFreeChart is a free chart library for the Java(tm) platform. It runs
  10. on the Java 2 Platform (JRE 1.6.0 or later) and uses the Java 2D API for
  11. drawing. There is also JavaFX support available, but requiring JDK 1.8.0 or
  12. later.
  13. JFreeChart is licensed under the terms of the GNU Lesser General
  14. Public Licence (LGPL). A copy of the licence is included in the
  15. distribution.
  16. Please note that JFreeChart is distributed WITHOUT ANY WARRANTY;
  17. without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  18. PARTICULAR PURPOSE. Please refer to the licence for details.
  19. We are grateful to the many developers that have contributed to JFreeChart.
  20. The contributors are listed below in section 10.
  21. -------------------
  22. 2. LATEST VERSION
  23. -------------------
  24. The latest version of this class library can be obtained from:
  25. http://www.jfree.org/jfreechart/
  26. If you have any comments, suggestions or bugs to report, please post a
  27. message in the JFreeChart forum.
  28. -----------------
  29. 3. DOCUMENTATION
  30. -----------------
  31. You can download installation instructions
  32. (jfreechart-1.0.19-install.pdf) from the JFreeChart home page or the project
  33. page on SourceForge.
  34. Further documentation for JFreeChart (the JFreeChart Developer Guide) is
  35. available to purchase from by Object Refinery Limited, a company owned and
  36. operated by David Gilbert (the original author of JFreeChart). For more
  37. information, please see:
  38. http://www.object-refinery.com/jfreechart/guide.html
  39. Sales of the JFreeChart Developer Guide are an important source of funding for
  40. the project. Please help us to continue developing free software.
  41. API documentation files in HTML format are available on-line. If you wish
  42. to keep a local copy of the API files, you can regenerate them directly
  43. from the source code. You can do this using the 'javadoc' utility directly,
  44. or with the Ant script (build.xml) included in the distribution.
  45. -----------------
  46. 4. DEPENDENCIES
  47. -----------------
  48. JFreeChart has the following dependencies:
  49. (a) JRE/JDK 1.6.0 or higher. Note that JRE/JDK 1.8 is required to use the new
  50. JavaFX support (and you will need to rebuild the library using the
  51. ant/build-fx.xml script).
  52. (b) JCommon - the runtime jar file (version 1.0.23) is included in the
  53. JFreeChart distribution. You can obtain the complete source code for JCommon
  54. from:
  55. http://www.jfree.org/jcommon/
  56. JCommon is licensed under the terms of the GNU Lesser General Public Licence.
  57. (c) servlet.jar - classes in the org.jfree.chart.servlet
  58. package require this file. The JFreeChart distribution includes the
  59. servlet.jar file distributed with Tomcat 4.1.31. Applicable license
  60. terms are published at:
  61. http://java.sun.com/products/servlet/LICENSE
  62. (d) JUnit - a unit testing framework (the junit.jar runtime file is
  63. included in the distribution). JUnit is licensed under the terms
  64. of the IBM Common Public License. You can find out more about JUnit
  65. and/or download the latest version from:
  66. http://www.junit.org
  67. The JUnit tests included with JFreeChart have been created using JUnit
  68. 4.3.1.
  69. -----------
  70. 5. SUPPORT
  71. -----------
  72. Support questions can be posted in the free support forum at
  73. http://www.jfree.org/forum/viewforum.php?f=3
  74. We read all questions posted in the forum, and respond to as many as we can
  75. in the time available. Unfortunately, there are too many questions to answer
  76. them all.
  77. --------------------
  78. 6. ANT BUILD SCRIPT
  79. --------------------
  80. An Ant build script (build.xml) is included in the distribution. This
  81. is the same script that is used to create the JFreeChart distribution.
  82. For more information about Ant:
  83. http://ant.apache.org/
  84. If you want to rebuild the JFreeChart jar file, we highly recommend that you
  85. use this script as it includes certain files (for example, .properties files)
  86. that you MUST have in the jar file for JFreeChart to function correctly.
  87. -----------------
  88. 7. MAVEN POM.XML
  89. -----------------
  90. A Maven pom.xml is included in the distribution, and you can use this to
  91. build JFreeChart *without* JavaFX support. If you want to include the JavaFX
  92. support classes, you'll need to modify the pom.xml file accordingly.
  93. Both JFreeChart and JCommon are available on the Central Repository:
  94. <dependency>
  95. <groupId>org.jfree</groupId>
  96. <artifactId>jfreechart</artifactId>
  97. <version>1.0.19</version>
  98. </dependency>
  99. <dependency>
  100. <groupId>org.jfree</groupId>
  101. <artifactId>jcommon</artifactId>
  102. <version>1.0.23</version>
  103. </dependency>
  104. ------------------------
  105. 8. THE DEMO APPLICATION
  106. ------------------------
  107. A demo application that shows a selection of the charts that can be
  108. generated is included in the JFreeChart distribution. To run the
  109. demo (using JDK 1.6.0 or later), use the following command:
  110. java -jar jfreechart-1.0.19-demo.jar
  111. The complete source code for the demo application is available for
  112. download when you purchase the JFreeChart Developer Guide.
  113. The demo application also links to the JFreeSVG and OrsonPDF libraries, to
  114. provide export facilities to the SVG and PDF formats. These fast, lightweight
  115. libraries are independent from JFreeChart. JFreeSVG is dual licensed under
  116. the GNU GPLv3 and a commercial license, while OrsonPDF is commercially licensed.
  117. Licenses can be purchased from Object Refinery Limited.
  118. An additional tab added to the demo application showcases Orson Charts, a
  119. 3D chart library by Object Refinery Limited. You can find out more about
  120. Orson Charts at:
  121. http://www.object-refinery.com/orsoncharts/
  122. ---------------
  123. 9. LIMITATIONS
  124. ---------------
  125. JFreeChart has some known limitations that will hopefully be addressed in
  126. the future:
  127. - some renderers do not respect the series visibility flags yet;
  128. - the chart property editors (accessible by right-clicking on the chart
  129. panel) are horribly out of date and probably shouldn't be used;
  130. - item labels (if displayed) are not taken into account for the
  131. automatically calculated axis range. As a workaround, you can increase
  132. the axis margins;
  133. - tick labels on a DateAxis that uses a SegmentedTimeline can be
  134. problematic;
  135. If there are other items that you think should be listed here,
  136. please post a bug report.
  137. ---------------
  138. 10. WHAT's NEW
  139. ---------------
  140. A list of changes in recent versions:
  141. 1.0.19 : (31-Jul-2014)
  142. - fixed clipping issues for combined plots in JavaFX;
  143. - fix a memory leak in the new JavaFX ChartCanvas class;
  144. - CombinedDomainXYPlot and CombinedRangeXYPlot now take into account the
  145. pannable flags in the subplots;
  146. - FastScatterPlot panning direction is corrected;
  147. - added rendering hints to sharpen gridlines and borders in most output
  148. formats;
  149. - JFreeSVG updated to version 2.0;
  150. - included a preview of JSFreeChart, a 2D chart library written in
  151. JavaScript that is conceptually similar to JFreeChart but runs
  152. directly in a web browser.
  153. 1.0.18 : (3-Jul-2014)
  154. - added JavaFX support via FXGraphics2D;
  155. - improved LogAxis labelling;
  156. - improved numeric tick labelling;
  157. - center text support in RingPlot;
  158. - 'stepPoint' attribute in the XYStepAreaRenderer;
  159. - other minor improvements and bug fixes, see the NEWS and ChangeLog
  160. files for further details.
  161. 1.0.17 : (22-Nov-2013)
  162. - see the NEWS and ChangeLog files for details.
  163. 1.0.16 : (13-Sep-2013)
  164. - bumped the required JRE to 1.6, enhanced axis labelling, provided
  165. integration with JFreeSVG and OrsonPDF for vector output, and fixed
  166. bugs.
  167. 1.0.15 : (4-Jul-2013)
  168. - various minor feature enhancements and a range of bug fixes, see the
  169. NEWS and ChangeLog files for details.
  170. 1.0.14 : (20-Nov-2011)
  171. - added support for multiple axes in PolarPlot, performance
  172. improvements in the TimeSeriesCollection class, mouse wheel rotation
  173. in the PiePlot class, improved Maven support, a range of other
  174. minor functional enhancements and numerous bug fixes - see the NEWS
  175. and ChangeLog files for details.
  176. 1.0.13 : (17-Apr-2009)
  177. - there are some significant new features in this release, as well
  178. as performance enhancements and bug fixes - see the NEWS and
  179. ChangeLog files for details.
  180. 1.0.12 : (31-Dec-2008)
  181. - added support for minor tick marks, mapping datasets to more than
  182. one axis, and numerous bug fixes - see the NEWS and ChangeLog files
  183. for details.
  184. 1.0.11 : (18-Sep-2008)
  185. - this release includes a new chart theming mechanism, and numerous
  186. other feature enhancements and bug fixes - see the NEWS and ChangeLog
  187. files for details.
  188. 1.0.10 : (8-Jun-2008)
  189. - another general maintenance release - see the NEWS and ChangeLog
  190. files for more details.
  191. 1.0.9 : (4-Jan-2008)
  192. - this release fixes a security advisory with respect to the HTML
  193. image maps generated by JFreeChart - see the NEWS file for more
  194. information. In addition, a number of bugs have been fixed.
  195. 1.0.8 : (23-Nov-2007)
  196. - primarily a bug fix release. See the NEWS and ChangeLog files for a
  197. more detailed description of the changes in this release.
  198. 1.0.7 : (14-Nov-2007)
  199. - See the NEWS and ChangeLog files for a more detailed description of
  200. the changes in this release.
  201. 1.0.6 : (15-Jun-2007)
  202. - the VectorRenderer and associated dataset classes have been promoted
  203. to the standard API from the 'experimental' source tree. See the
  204. NEWS and ChangeLog files for a more detailed description of the
  205. changes in this release.
  206. 1.0.5 : (23-Mar-2007)
  207. - this release contains a new DeviationRenderer, enhancements to a
  208. number of existing classes and numerous bug fixes, see the NEWS
  209. and ChangeLog files for details.
  210. 1.0.4 : (9-Feb-2007)
  211. - this release contains both new features and bug fixes, see the NEWS
  212. and ChangeLog files for details.
  213. 1.0.3 : (17-Nov-2006)
  214. - this release contains a new DialPlot class (in 'experimental') that
  215. will hopefully replace the MeterPlot class, once the API has been
  216. polished a little, plus many other new features and bug fixes. See
  217. the NEWS and ChangeLog files for details.
  218. 1.0.2 : (25-Aug-2006)
  219. - this release contains both new features and bug fixes, see the NEWS
  220. and ChangeLog files for details.
  221. 1.0.1 : (27-Jan-2006)
  222. - primarily a bug fix release, see the NEWS and ChangeLog files for
  223. details.
  224. 1.0.0 : (2-Dec-2005)
  225. - the first stable release of the JFreeChart class library, all future
  226. releases in the 1.0.x series will aim to maintain backward
  227. compatibility with this release;
  228. - see the ChangeLog file for a detailed list of changes.
  229. 1.0.0-rc3 : (28-Nov-2005)
  230. - the third "release candidate" for version 1.0.0, this release
  231. fixes some issues with the 1.0.0-rc2 release (mainly concerning
  232. packaging of resource bundles for localisation).
  233. - if no significant problems are reported in the next few days,
  234. the 1.0.0 "final" release will be posted on 2-Dec-2005.
  235. 1.0.0-rc2 : (25-Nov-2005)
  236. - the second "release candidate" for version 1.0.0. If no problems
  237. are reported, 1.0.0 "final" will be released on 2-Dec-2005.
  238. - see the ChangeLog file for a detailed list of changes in this
  239. release.
  240. 1.0.0-rc1 : (2-Jun-2005)
  241. - this is a "release candidate" for version 1.0.0. If no
  242. significant API problems are reported, this release will be
  243. re-released as version 1.0.0.
  244. - see CHANGELOG.txt for further details.
  245. 1.0.0-pre2 : (10-Mar-2005)
  246. - see CHANGELOG.txt for further details.
  247. 1.0.0-pre1 : (29-Nov-2004)
  248. - see CHANGELOG.txt for further details.
  249. 0.9.21 : (9-Sep-2004)
  250. - added new axes: PeriodAxis and ModuloAxis.
  251. - split org.jfree.data and org.jfree.chart.renderer into
  252. subpackages for 'category' and 'xy' charts.
  253. - Sun PNG encoder is now used, if available.
  254. - a new demo application makes it easier to preview the
  255. chart types that JFreeChart can create.
  256. - added a new series visibility flag to the AbstractRenderer
  257. class.
  258. - added support for GradientPaint in interval markers.
  259. - see CHANGELOG.txt for further details.
  260. 0.9.20 : (7-Jun-2004)
  261. - primarily bug fixes, see CHANGELOG.txt for further details.
  262. 0.9.19 : (28-May-2004)
  263. - added methods to XYDataset that return double primitives;
  264. - removed distinction between "primary" and "secondary" datasets,
  265. renderers and axes;
  266. - added fixed legend item options to CategoryPlot and XYPlot;
  267. - legend changes by Barek Naveh;
  268. - removed Log4j dependency;
  269. - many, many bug fixes;
  270. - see CHANGELOG.txt for further details.
  271. 0.9.18 : (15-Apr-2004)
  272. - new legend anchor options;
  273. - fixed broken JPEG export;
  274. - fixed title size problems;
  275. - various other bug fixes;
  276. 0.9.17 : (26-Mar-2004)
  277. - pie chart enhancements for labelling, shading and multiple pie
  278. charts (2D or 3D) on a single plot;
  279. - new PolarPlot class added;
  280. - XYSeries can now be sorted or unsorted;
  281. - createBufferedImage() method can now scale charts;
  282. - domain and range markers now support intervals;
  283. - item labels are now supported by some XYItemRenderers;
  284. - tooltip and item label generators now use MessageFormat class;
  285. - added new XYBarDataset class;
  286. - added transparency support to PNG export;
  287. - numerous other small enhancements and bug fixes, see the
  288. CHANGELOG.txt file for more details;
  289. 0.9.16 : (09-Jan-2004)
  290. - this release contains bug fixes and some minor feature
  291. enhancements (title and category label wrapping, legend shape
  292. scaling, enhanced performance for the DefaultTableXYDataset class);
  293. - added Spanish localisation files;
  294. 0.9.15 : (28-Nov-2003)
  295. - the focus of this release is bug fixes - quite a number of issues
  296. have been resolved, please check the bug database for details;
  297. - added a new Wafer Map chart type;
  298. - added a cyclic axis;
  299. - added localisation files for _ru;
  300. 0.9.14 : (17-Nov-2003)
  301. - implemented zooming for the FastScatterPlot class;
  302. - added item label support for stacked bar charts, and new fall back
  303. options for item labels that don't fit within bars;
  304. - modified the CategoryAxis class to allow additional options for the
  305. alignment and rotation of category labels;
  306. - addition of the AxisState class, used in the drawing of axes to
  307. eliminate a bug when multiple threads draw the same axis
  308. simultaneously;
  309. - provided additional attributes in the DateTickUnit class to improve
  310. labelling on a segmented DateAxis;
  311. - added support for GradientPaint in bar charts;
  312. - updated the PNGEncoder;
  313. - fixes for tick label positioning on axes;
  314. - various Javadoc updates;
  315. - numerous bug fixes;
  316. 0.9.13 : (26-Sep-2003)
  317. - various enhancements to the stacked area XY charts;
  318. - added a completion indicator for the Gantt chart;
  319. - range and domain markers can now be placed in the foreground or the
  320. background;
  321. - more fixes for cloning and serialization;
  322. - fixed mouse event bug for combined charts;
  323. - fixed bugs in the PngEncoder class;
  324. - incorporated .properties files that were missing from the 0.9.12
  325. distribution;
  326. 0.9.12 : (11-Sep-2003)
  327. - extended box-and-whisker plots to work with the CategoryPlot class
  328. as well as the XYPlot class (based on work by David Browning);
  329. - added a new LayeredBarRenderer (by Arnaud Lelievre);
  330. - added support for stacked area charts with the XYPlot class (thanks
  331. to Richard Atkinson);
  332. - improved HTML image map support (thanks to Richard Atkinson);
  333. - added localized resources for the chart property editors (thanks to
  334. Arnaud Lelievre). Current translations include French and Portugese
  335. (thanks to Eduardo Ramalho);
  336. - added facility for setting all rendering hints;
  337. - improved support for cloning and serialization;
  338. - fixed a bug in the XYSeries class that prevented the TableXYDataset
  339. from functioning correctly;
  340. - improved date axis labelling with segmented time lines;
  341. - fixed several bugs in the secondary dataset/axis/renderer code;
  342. - fixed bugs in the JDBCCategoryDataset class;
  343. - numerous other bug fixes;
  344. 0.9.11 : (8-Aug-2003)
  345. - added support for box-and-whisker plots, thanks to David Browning;
  346. - lots of bug fixes;
  347. API changes in this release are minimal and have been implemented using
  348. deprecation, so code written against 0.9.10 should recompile.
  349. 0.9.10 : (25-Jul-2003)
  350. - added support for multiple secondary axes, datasets and
  351. renderers;
  352. - minor feature enhancements and bug fixes;
  353. 0.9.9 : (10-Jul-2003) PLEASE NOTE THAT MAJOR CHANGES HAVE BEEN MADE IN THIS
  354. RELEASE AND ONE OR TWO FEATURES MAY BE BROKEN. PLEASE REPORT BUGS SO THEY CAN
  355. BE FIXED FOR THE NEXT RELEASE.
  356. - merged the HorizontalCategoryPlot and VerticalCategoryPlot classes,
  357. into the CategoryPlot class;
  358. - merged the horizontal and vertical axis classes;
  359. - merged the horizontal and vertical renderer classes;
  360. - CategoryPlot and XYPlot now support both horizontal and vertical
  361. orientation via the setOrientation(...) method;
  362. - merged horizontal and vertical methods in the ChartFactory class;
  363. - created new combined plot classes: CombinedDomainCategoryPlot,
  364. CombinedRangeCategoryPlot, CombinedDomainXYPlot and
  365. CombinedRangeXYPlot (these can all be drawn with a horizontal or
  366. vertical orientation);
  367. - Bill Kelemen has enhanced the DateAxis class to handle segmented
  368. timelines. This can be used, for example, to skip weekends for
  369. daily stock price charts;
  370. - Richard Atkinson has updated the ServletUtilities class;
  371. - Bryan Scott has added an XYDatasetTableModel class for presenting
  372. datasets in a JTable;
  373. - modified XYPlot to allow renderers to use multiple passes through
  374. the dataset;
  375. - added new XYDifferenceRenderer;
  376. - added support for colored bands between gridlines in XYPlot;
  377. - added new XYDrawableAnnotation class;
  378. - added a new attribute to control the order of dataset rendering in
  379. a CategoryPlot;
  380. - extended the value label mechanism for the renderers, to allow
  381. better (per series) control over label generation, positioning and
  382. visibility;
  383. - CategoryItemTooltipGenerator has been renamed
  384. CategoryItemLabelGenerator, since it is now being used to generated
  385. item labels as well as tooltips;
  386. - there is now support for horizontal stacked 3D bar charts;
  387. - added support for range markers against secondary axis in a
  388. CategoryPlot;
  389. - added labels to domain and range markers;
  390. - added a new HistogramDataset class (contributed by Jelai Wang) to
  391. make it easier to create histograms with JFreeChart;
  392. - moved the DrawingSupplier into the plot class, renderers now
  393. reference the supplier from the plot (parent plot for combined and
  394. overlaid charts). This means that renderers now share a single
  395. DrawingSupplier by default, which simplifies the creation of
  396. combined charts;
  397. - changed the ColorBarAxis classes that extended the NumberAxis class,
  398. to a single ColorBar class that wraps a ValueAxis (may have broken
  399. one or two things in the process);
  400. - Barak Naveh has contributed new classes MatrixSeries and
  401. MatrixSeriesCollection, along with demos: BubblyBubblesDemo.java
  402. and BubblyBubblesDemo2.java;
  403. - the TextTitle class now has a background paint attribute;
  404. - the StandardLegend class now generates LegendEntity objects if a
  405. ChartRenderingInfo instance is supplied to the draw(...) method;
  406. - extended the CategoryTextAnnotation class to take into account a
  407. category anchor point. See the SurveyResultsDemo.java application
  408. for an example;
  409. - included numerous bug fixes;
  410. 0.9.8 : (24-Apr-2003)
  411. - changed package naming from com.jrefinery.* to org.jfree.*;
  412. - added new TimePeriodValuesCollection class;
  413. - added MIME type code to ServletUtilities class;
  414. - reversed the order of PieDataset and KeyedValuesDataset in
  415. the class hierarchy;
  416. - reversed the order of CategoryDataset and KeyedValues2DDataset
  417. in the class hierarchy;
  418. - minor bug fixes;
  419. 0.9.7 : (11-Apr-2003)
  420. - added a new ValueDataset interface and DefaultValueDataset
  421. class, and changed the CompassPlot class to use this instead
  422. of MeterDataset;
  423. - added DataUtilities class, to support creation of Pareto
  424. charts (new demo included);
  425. - updated writeImageMap method as suggested by Xavier Poinsard
  426. (see Feature Request 688079);
  427. - implemented Serializable for most classes (this is likely to
  428. require further testing);
  429. - incorporated contour plot updates from David M. O'Donnell;
  430. - added new CategoryTextAnnotation and XYLineAnnotation
  431. classes;
  432. - added new HorizontalCategoryAxis3D class contributed by
  433. Klaus Rheinwald;
  434. Bug fixes:
  435. - added a workaround for JVM crash (a JDK bug) in pie charts
  436. with small sections (see bug report 620031);
  437. - fixed minor bug in HorizontalCategoryPlot constructor (see
  438. bug report 702248);
  439. - added code to ensure HorizontalNumberAxis3D is not drawn if
  440. it is not visible (see bug report 702466);
  441. - added small fix for suppressed chart change events (see bug
  442. report 690865);
  443. - added pieIndex parameter to tooltip and URL generators for
  444. pie charts;
  445. - fixed bug in getLastMillisecond() method for the Second
  446. class and the getFirstMillisecond() method for the Year
  447. class (picked up in JUnit tests);
  448. - in TextTitle, changed width used for relative spacing to fix
  449. bug 703050;
  450. 0.9.6 : (17-Feb-2003) Bug fixes:
  451. - fixed null pointer exception in DefaultCategoryDataset;
  452. - fixed update problem for PaintTable, StrokeTable and
  453. ShapeTable objects;
  454. - added methods to control colors in PiePlot (these were
  455. inadvertantly removed in the changes made for 0.9.5);
  456. - fixed auto-range update problem for secondary axis;
  457. - fixed missing category labels in the overlaid category plot;
  458. - fixed constructors for symbolic axes;
  459. - corrected error in Javadoc generation (Ant script);
  460. 0.9.5 : (6-Feb-2003) PLEASE NOTE THAT MAJOR CHANGES TO THE
  461. JFREECHART API HAVE BEEN MADE IN THIS RELEASE!
  462. - added support for secondary axes, datasets and renderers;
  463. - added new data interfaces (Value, Values, Values2D,
  464. KeyedValues and KeyedValues2D) and incorporated these into
  465. the existing PieDataset and CategoryDataset interfaces.
  466. - modified the CategoryDataset interface to be more
  467. symmetrical, data is organised in rows and columns (as
  468. before) but can now be accessed by row/column index or
  469. row/column key.
  470. - added support for reading PieDatasets and CategoryDatasets
  471. from XML files.
  472. - created separate packages for the axes
  473. (com.jrefinery.chart.axis), plots (com.jrefinery.chart.plot)
  474. and renderers (com.jrefinery.chart.renderer).
  475. - series attributes (paint, outline paint, stroke and shape)
  476. are now controlled by the renderer classes using lookup
  477. tables. Introduced the DrawingSupplier interface (and
  478. DefaultDrawingSupplier class) which is used to populate the
  479. lookup tables from a common source (necessary to coordinate
  480. complex combined charts).
  481. - the chart legend can now display shapes corresponding to
  482. series.
  483. - moved responsibility for category distribution to the
  484. CategoryAxis class, which tidies up the code in the
  485. CategoryPlot classes.
  486. - gridlines are now controlled by the CategoryPlot and XYPlot
  487. classes, not the axes (included in this change is the
  488. addition of gridlines for the CategoryPlot domain values).
  489. - changed the list of titles in the JFreeChart class to a
  490. title and a list of subtitles.
  491. - added new renderers for XYPlot (XYBubbleRenderer and
  492. YIntervalRenderer).
  493. - modified Gantt chart to display sub-tasks.
  494. - added ContourPlot class (still experimental) by David
  495. M. O'Donnell.
  496. - introduced new MovingAverage class.
  497. - ChartMouseEvent now includes source chart.
  498. - numerous bug fixes.
  499. - lots of Javadoc updates.
  500. 0.9.4 : (18-Oct-2002) Added a new stacked area chart (contributed by Dan
  501. Rivett) and a compass plot (contributed by Bryan Scott). Updated
  502. the ThermometerPlot class. Added a new XYDotRenderer for scatter
  503. plots. Modified combined and overlaid plots to use the series colors
  504. specified in the sub plot rather than the parent plot (this makes it
  505. easier to align the colors in the legend). Added Regression class
  506. for linear and power regressions. BasicTimeSeries can now
  507. automatically drop "old" data. Some clean-up work in the code for
  508. tooltips and the event listener mechanism. Richard Atkinson has
  509. incorporated some useful extensions for servlets/JSP developers.
  510. Ran Checkstyle and corrected issues reported for most classes.
  511. Checkstyle is a free utility that you can download from:
  512. http://checkstyle.sourceforge.net
  513. Fixed bugs and updated documentation.
  514. API changes include:
  515. - added tickMarkPaint to Axis constructor (also affects
  516. subclasses);
  517. - added getLegendItems() to Plot, and deprecated
  518. getLegendItemLabels();
  519. - added getLegendItem(int) to XYItemRenderer and
  520. CategoryItemRenderer.
  521. - most 'protected' member variables have been changed to
  522. 'private'.
  523. 0.9.3 : (4-Sep-2002) Added multiple pie charts based on
  524. CategoryDataset. Updated logarithmic axes. Improved URL
  525. support for image map generation. Moved the com.jrefinery.data
  526. package from JCommon to JFreeChart. Added simple framework for
  527. chart annotations. Improved control over renderers. Duplicate
  528. x-values now allowed in XYSeries. Optional category label
  529. skipping in category axes. Added CategoriesPaint attribute to
  530. AbstractCategoryItemRenderer. Added new attributes to
  531. MeterPlot class. Updated 3D pie chart to observe start angle
  532. and direction, and also foreground alpha < 1.0. Improved
  533. Javadoc comments. New demo applications, including:
  534. AnnotationDemo1, EventFrequencyDemo, JDBCCategoryChartDemo,
  535. JDBCPieChartDemo, JDBCXYChartDemo and MinMaxCategoryPlotDemo.
  536. Bug fixes:
  537. - negative percentages on PiePlot.
  538. - added listener notification to setXXXAxis(...) methods.
  539. - fixed DomainInfo method name clash.
  540. - added DomainIsPointsInTime flag to TimeSeriesCollection to
  541. give better control over auto range on axis for time series
  542. charts.
  543. - axis margins for date axes are no longer hard-coded.
  544. - fix for ordering of categories in JdbcCategoryDataset.
  545. - added check for null axis in mouse click handler.
  546. The CVS repository at SourceForge has also been restructured
  547. to match the distribution directory layout.
  548. 0.9.2 : (28-Jun-2002) PiePlot now has startAngle and direction
  549. attributes. Added support for image map generation. Added a
  550. new Pie3DPlot class. Added label drawing code to bar
  551. renderers. Added optional range markers to horizontal number
  552. axis. Added bar clipping to avoid PRExceptions in bar
  553. charts. JFreeChartDemo has been modified and now includes
  554. examples of the dial and thermometer plots.
  555. Bug fixes:
  556. - auto range for VerticalNumberAxis when zero is forced to be
  557. included in the range.
  558. - fixed null pointer exception in StackedVerticalBarRenderer3D;
  559. - Added get/set methods for min/max chart drawing dimensions
  560. in ChartPanel;
  561. - HorizontalIntervalBarRenderer now handles single category;
  562. - verticalTickLabels now possible in HorizontalNumberAxis3D;
  563. - removed unnecessary imports;
  564. 0.9.1 : (14-Jun-2002) Bug fixes and Javadoc updates.
  565. - fixed auto range calculation for category plots;
  566. - fixed event notification for XYPlot;
  567. - fixed auto axis range for Gantt charts;
  568. - check for null popup menu in ChartPanel.mouseDragged;
  569. - new checks for null info in renderers;
  570. - range markers now drawn only if in visible axis range;
  571. 0.9.0 : (7-Jun-2002) New plots including an area chart, a horizontal
  572. 3D bar chart, a Gantt chart and a thermometer chart.
  573. Combination plots have been reworked to provide a
  574. simpler framework, and extends to allow category plots to be
  575. combined. There is now a facility to add a ChartMouseListener
  576. to the ChartPanel (formerly JFreeChartPanel). An interactive
  577. zooming feature (experimental at this point) is now available
  578. for XYPlots. A new Polish translation has been added. Several
  579. fixes have been applied to the default tool tip generators. A
  580. workaround has been added to fix the alignment between time
  581. series charts and the date axis. There are some improvements
  582. to the VerticalLogarithmicAxis class, and now a corresponding
  583. HorizontalLogarithmicAxis class. Additional demonstration
  584. applications have been added. Fixed the popup menu bug.
  585. 0.8.1 : (5-Apr-2002) Localised resource bundles for French, German and
  586. Spanish languages (thanks to Anthony Boulestreau, Thomas Meier
  587. and Hans-Jurgen Greiner for the translations). An area XY
  588. plot and meter chart contributed by Hari. Symbol charts
  589. contributed by Anthony Boulestreau. An improved
  590. CandleStickRenderer class from Sylvain Vieujot. Updated
  591. servlet code from Bryan Scott. XYItemRenderers now have a
  592. change listener mechanism and therefore do not have to be
  593. immutable. Additional demonstration applications for
  594. individual chart types. Minor bug fixes.
  595. 0.8.0 : (22-Mar-2002) All the category plots are now controlled
  596. through the one class (CategoryPlot) with plug-in renderers.
  597. Added a ResourceBundle for user interface items that require
  598. localisation. Added a logarithmic axis class contributed by
  599. Mike Duffy and some new JDBC and servlet code contributed by
  600. Bryan Scott. Updated the JCommon class library to improve
  601. handling of time periods in different time zones.
  602. 0.7.4 : (6-Mar-2002) Bug fixes in the JCommon Class Library. Various
  603. Javadoc comment updates. Some minor changes to the
  604. code. Added new domain name (http://www.object-refinery.com)
  605. in the source headers.
  606. 0.7.3 : (14-Feb-2002) Bug fixes.
  607. 0.7.2 : (8-Feb-2002) Integrated the WindPlot code from Achilleus
  608. Mantzios. Added an optional background image for the
  609. JFreeChart class, and another optional background image for
  610. the Plot class. Added alpha-transparency for the plot
  611. foreground and background. Added new pie chart label types
  612. that show values. Fixed a bug with the legend that results in
  613. a loop at small chart sizes. Added some tooltip methods that
  614. were missing from the previous version. Changed the Insets
  615. class on chart titles to a new Spacer class that will allow
  616. for relative or absolute insets (the plan is to eventually
  617. replace all Insets in the JFreeChart classes). Fixed a bug in
  618. the setAutoRangeIncludesZero method of the NumberAxis class.
  619. Added the instructions that were missing from the copies of
  620. the GNU Lesser General Public Licence included with JFreeChart.
  621. 0.7.1 : (25-Jan-2002) Added tooltips, crosshairs and zooming
  622. functions, thanks to Jonathan Nash and Hans-Jurgen Greiner
  623. for contributing the code that these features are based on.
  624. Moved the combination charts into the package
  625. com.jrefinery.chart.combination, made a number of other small
  626. API changes and fixed some bugs. Removed the Javadoc HTML
  627. from the download to save space (you can regenerate it from
  628. the source code if you need it).
  629. 0.7.0 : (11-Dec-2001) New combination plots developed by Bill
  630. Kelemen. Added Wolfgang Irler's servlet demo to the standard
  631. download. The About window in the demo application now
  632. includes a list of developers that have contributed to the
  633. project.
  634. 0.6.0 : (27-Nov-2001) New plots including scatter plot, stacked bar
  635. charts and 3D bar charts. Improved pie chart. Data
  636. interfaces and classes moved to the JCommon class library.
  637. New properties to control spacing on bar charts. New
  638. auto-tick mechanism. JFreeChartPanel now incorporates
  639. buffering, and popup menu. Javadocs revised. Fixed numerous
  640. bugs from version 0.5.6. Demo application updated.
  641. ----------------
  642. 10. CONTRIBUTORS
  643. ----------------
  644. JFreeChart wouldn't be half the library that it is today without the
  645. contributions (large and small) that have been made by the developers listed
  646. below:
  647. - Eric Alexander
  648. - Richard Atkinson
  649. - David Basten
  650. - David Berry
  651. - Chris Boek
  652. - Zoheb Borbora
  653. - Anthony Boulestreau
  654. - Jeremy Bowman
  655. - Nicolas Brodu
  656. - Jody Brownell
  657. - David Browning
  658. - Soren Caspersen
  659. - Thomas A Caswell
  660. - Chuanhao Chiu
  661. - Brian Cole
  662. - Pascal Collet
  663. - Martin Cordova
  664. - Paolo Cova
  665. - Greg Darke
  666. - Mike Duffy
  667. - Don Elliott
  668. - Rune Fauske
  669. - Jonathan Gabbai
  670. - Serge V. Grachov
  671. - Daniel Gredler
  672. - Joao Guilherme Del Valle
  673. - Hans-Jurgen Greiner
  674. - Nick Guenther
  675. - Aiman Han
  676. - Cameron Hayne
  677. - Martin Hoeller (xS+S)
  678. - Jon Iles
  679. - Wolfgang Irler
  680. - Sergei Ivanov
  681. - Nina Jeliazkova
  682. - Adriaan Joubert
  683. - Darren Jung
  684. - Xun Kang
  685. - Bill Kelemen
  686. - Norbert Kiesel
  687. - Petr Kopac
  688. - Gideon Krause
  689. - Dave Law;
  690. - Pierre-Marie Le Biot
  691. - Simon Legner
  692. - Arnaud Lelievre
  693. - Wolfgang Lenhard
  694. - Leo Leung
  695. - David Li
  696. - Yan Liu
  697. - Tin Luu
  698. - Craig MacFarlane
  699. - Achilleus Mantzios
  700. - Thomas Meier
  701. - Jim Moore
  702. - Jonathan Nash
  703. - Barak Naveh
  704. - David M. O'Donnell
  705. - Krzysztof Paz
  706. - Eric Penfold
  707. - Tomer Peretz
  708. - Xavier Poinsard
  709. - Andrzej Porebski
  710. - Viktor Rajewski
  711. - Eduardo Ramalho
  712. - Michael Rauch
  713. - Klaus Rheinwald
  714. - Cameron Riley
  715. - Dan Rivett
  716. - Lukasz Rzeszotarski
  717. - Scott Sams
  718. - Michel Santos
  719. - Thierry Saura
  720. - Patrick Schlott
  721. - Andreas Schneider
  722. - Christoph Schroeder
  723. - Jean-Luc SCHWAB
  724. - Bryan Scott
  725. - Tobias Selb
  726. - Darshan Shah
  727. - Mofeed Shahin
  728. - Michael Siemer
  729. - Pady Srinivasan
  730. - Greg Steckman
  731. - Roger Studner
  732. - Gerald Struck
  733. - Irv Thomae
  734. - Eric Thomas
  735. - Rich Unger
  736. - Daniel van Enckevort
  737. - Laurence Vanhelsuwe
  738. - Sylvain Vieujot
  739. - Jelai Wang
  740. - Mark Watson
  741. - Alex Weber
  742. - Richard West
  743. - Matthew Wright
  744. - Benoit Xhenseval
  745. - Christian W. Zuckschwerdt
  746. - Hari
  747. - Sam (oldman)
  748. It is possible that I have missed someone on this list, if that
  749. applies to you, please e-mail me.
  750. Dave Gilbert (david.gilbert@object-refinery.com)
  751. JFreeChart Project Leader