【Jsp精品源码栏目提醒】:网学会员,鉴于大家对Jsp精品源码十分关注,论文会员在此为大家搜集整理了“JFreeChart用户开发指南1.0.6(中文) - 软件工程”一文,供大家参考学习!
JFreeChart 开发指南 1.0.6 JFreeChart 1.0.6 用户开发指南中文 草稿(0.9.0)译者:乖乖兔2007-10-252000-2007 Object Refinery Limited. All rights reserved. 第 1页 共 174页 JFreeChart 开发指南 1.0.61 简介1.1 什么是 JFreeChart 1.1.1 概述 JFreeChart 是 一 款 免 费 的 java 图 形 开 发 类 库 。
主 要 用 来 在 application/ applets/ servlets/
jsp/上生成各种图表。
JFreeChart 是完全开源,并且严格遵循 GNU 的通用公共 许可证,力保 JFreeChart 用户对源代码的自由修改与使用。
图 1.1 一个简单的图表 图 1.1 就是一个典型的使用 JFreeChart 创建的图表。
在本文后续章节将陆续展示更多的 实例。
1.1.2 特征 、 、 JFreeChart能产生饼图(pie) 柱状/条形统计图(bar) 折线图 、 (line) 散点图(scatter plots) 、甘特图(Gantt) 、时序图(time series) 、仪表盘图(meter,比如刻度盘、温度计、 罗盘等)、混合图、symbol图和风力方向图等。
第 2页 共 174页 JFreeChart 开发指南 1.0.6 主要特征如下: 定义接口的任何实现通俗易懂 易于导出 PNG 和 JPEG 图像文件格式(也可以使用 java 的图像 I/O 类库生成类 。
库支持的任何格式) 使用 Graphics2D 工具导出其他格式: 使用 iText 工具导出 PDF 格式文件 使用 Batik 工具导出 SVG 格式文件 图像工具栏 图表支持鼠标事件 支持注解。
产生 HTML 图像映射 可以工作于 application/servlets/
jsp/applets 等环境。
完全开源、严格遵守 GNU 的通用公共认证协议。
JFreeChart 完全由 java 语言编写,可以运行在 java2 的任何平台上(JDK1.3.1 版本 或者更高版本) 1.1.3 下载主页 JFreeChart 可以在下面的链接中找到: http://www.jfree.org/jfreechart/ 这里我们可以找到 JFreechart 最新的版本,目前是 1.0.6。
包括图表实例、下载链接、javadoc 文档、讨论社区等。
1.2 使用文档 文档有两个有效的版本: 免费版本 可以充 JFreeChart 主网站上下载免费版本《 JFreeChart Installation Guide》,主要讲述内容是:JFreeChart 的安装过程和 JFreeChart 实例的运行。
收费版本 , 需要支付一定费用才能获得《JFreeChart Developer Guide》 主要包括开 发指南章节和 JFreeChart 类参考文档。
第 3页 共 174页 JFreeChart 开发指南 1.0.61.3 感谢 JFreeChart 的代码和思路源于很多人。
在这里我将感谢下面帮助 JFreeChart 成长的人 也许有些人员名字漏掉,望给予指正,在此表示歉意。
名单如下: Richard Atkinson David Berry Anthony Boulestreau Jeremy Bowman Daniel Bridenbecker Nicolas Brodu David Browning Sren Caspersen Chuanhao Chiu Pascal Collet Martin Cordova Paolo Cova Michael Duffy Jonathan Gabbai Serge V. Grachov Hans-Jurgen Greiner Joao Guilherme Del Valle Aiman Han Jon Iles Wolfgang Irler Xun Kang Bill Kelemen Norbert Kiesel Gideon Krause Arnaud Lelievre David Li Tin Luu Craig MacFarlane Achilleus Mantzios Thomas Meier Aaron Metzger Jim Moore Jonathan Nash Barak Naveh David M. O’Donnell Krzysztof Paz Tomer Peretz Andrzej Porebski Luke Quinane Viktor Rajewski Eduardo Ramalho Michael Rauch Cameron Riley Dan Rivett Michel Santos Thierry Saura Andreas Schneider Jean-Luc Schwab Bryan Scott Roger Studner Irv Thomae Eric Thomas Rich Unger Daniel van Enckevort Laurence Vanhelsuwe Sylvain Vieujot JelaiWang MarkWatson Alex Weber Matthew Wright Christian W. Zuckschwerdt Hari and Sam oldman.1.4 建议 如果您对本文档有任何的建议或想法,请发送:david.gilbertobject-refinery.com。
2 图表实例 2.1 介绍 本章节显示了许多使用 JFreeChart 创建的图表实例。
内容特意对 JFreeChart 产生的 图表类型做了概述。
运行实例命令如下: java -jar jfreechart-1.0.6-demo.jar 如果您购买了《JFreeChart Developer Guide》,可获得该实例的源代码。
2.2 饼图(Pie Charts) JFreeChart 能够创使用符合 PieDataset 接口标准的数据创建饼图。
下图 2.1 显示了 一个简单的饼图。
第 4页 共 174页 JFreeChart 开发指南 1.0.6 图 2.1 一个简单的饼图(参见:PieChartDemo1.java)其中 ,单个的区域也可以被“取出”,如下图 2.2 所示: 图 2.2 一个带有取出“区域”的饼图(参见:PieChartDemo2.java)我们也可以显示 3D 效果的饼图,如下图 2.3 所示: 第 5页 共 174页 JFreeChart 开发指南 1.0.6 图 2.3 3D 效果图的图表(参见:PieChart3DDemo1.java) 3D 效果的饼图,部分区域不能取出。
2.3 直方条形图(Bar Charts) JFreeChart 可 以 创 建 一 系 列 的 直 方 条 形 图 。
创 建 直 方 条 形 图 的 数 据 必 须 符 合CategoryDataset 接口标准。
图 2.4 显示了一个垂直定向的直方条形图。
第 6页 共 174页 JFreeChart 开发指南 1.0.6 图 2.4 一个垂直的直方条形图(参见:BarChartDemo1.java)直方条形图可以用 3D 效果显示,如下图 2.5 所示。
如 2.5 3D 效果的直方条形图(参见:BarChart3DDemo1.java) 第 7页 共 174页 JFreeChart 开发指南 1.0.6直方条形图的另一种变型,瀑布图表。
如下图 2.6 所示: 如 2.6 一个瀑布图表(参见:WaterfallChartDemo1.java)直方条形图可以从时序数据中产生。
如下图 2.7 所示: 图 2.7 一个 XY 图表(参考 XYBarChartDemo1.java) 第 8页 共 174页 JFreeChart 开发指南 1.0.6 2.4 折线图(Line Charts) 折线图可以使用直方条形图的数据对象 CategoryDataset 产生。
如下图 2.8: 图 2.8 一个折线图(参考 LineChartDemo1.java) 2.5 XY散点图 XYDataset 是第三种数据类型,用来产生一系列图表的类型。
标准的 XY 区域有 X 和Y 数轴。
默认的,使用相应的数据按照一定比例画出 X 轴和 Y 轴。
如图 2.9 所示。
第 9页 共 174页 JFreeChart 开发指南 1.0.6 图 2.9 折线图(参考:LineChartDemo4.java) 散点图是每一个数据点用一个图形画出来,而不是使用线将点连起来。
一个实例如下图 2.10 所示: 图 2.10 散点图(参考:ScatterPlotDemo1.java) 第 10页 共 174页 JFreeChart 开发指南 1.0.6 2.6 时序图 JFreeChart 支持时间序列图表,时序图包括平均值图、 high-low-open-close 图和candlestick 图,如下图 2.11 所示: 图 2.11 序列图(参考:TimeSeriesDemo1.java) 我们可以在时序图上添加一条平均值线——如下图 2.12 所示: 第 11页 共 174页 JFreeChart 开发指南 1.0.6 图 2.12 带有平均线线的时序图(参考:TimeSeriesDemo8.java) 我们可以使用 OHLCDataset(XYDataset 的扩展)显示 high-low-open-close 数据图表。
如下图 2.13 所示: 图 2.13 high-low-open-close 图表(参考:HighLowChartDemo2.java) 第 12页 共 174页 JFreeChart 开发指南 1.0.6 2.7 柱状图 可以使用一个 IntervalXYDataset(XYDataset 的另一个扩展)数据产生柱状图。
如下图 2.14 所示: 图 2.14 柱状图(参考:HistogramDemo1.java) 2.8 面积图 我们可以使用 CategoryDataset 或者 XYDataset 产成面积图表。
如下图 2.15 所示: 第 13页 共 174页 JFreeChart 开发指南 1.0.6 图 2.15 面积图(参考:XYAreaChartDemo1.java)同时,JFreeChart 也支持堆栈式面积图表,如下图 2.16 所示: 图 2.16 堆栈式面积图(参考:StackedXYAreaChartDemo1.java) 第 14页 共 174页 JFreeChart 开发指南 1.0.62.9 差异图差异图是显示两个序列之间的不同。
如下图 2.17 所示。
图 2.17 差异图(参考:DifferenceChartDemo1.java) 第 15页 共 174页 JFreeChart 开发指南 1.0.6 图 2.18 差异图(参考:DifferenceChartDemo2.java) 2.10 梯形图 梯形图使用一系列的“梯形”来显示数据数值。
——如下图 2.19 所示: 图 2.19 梯形图(参考:XYStepRendererDemo1.java) 梯形图数据使用 XYDataset 数据对象。
2.11 甘特图我们可以使用 IntervalCategoryDataset 数据集类产生甘特图。
如图 2.20 所示 第 16页 共 174页 JFreeChart 开发指南 1.0.6 图 2.20 甘特图(参考:GanttChartDemo1.java)此外,甘特图可以具有子任务和进度显示器。
如下图 2.21 所示 图 2.21 带有进度显示的甘特图 第 17页 共 174页 JFreeChart 开发指南 1.0.6 2.12 多轴图JFreeChart 支持多轴图表。
如下图 2.22 显示了一个价格-数量的图表。
图 2.22 价格-数量图表(参考:PriceVolumeDemo1.java)CategoryPlot 和 XYPot 支持多轴特征。
图 2.23 显示了一个具有四个数轴的图表。
第 18页 共 174页 JFreeChart 开发指南 1.0.6 图 2.23 多轴图表(参考:MultipleAxisDemo1.java) 2.13 复合/覆盖图JFreeChart 支持复合/覆盖图表。
图 2.24 显示了一个条形图上覆盖了一个折线图。
第 19页 共 174页 JFreeChart 开发指南 1.0.6 图 2.24 覆盖图(参考:ParetoChartDemo1.java)也有可能使用同一个主轴,组合几种图表。
如下图 2.25。
图 2.25 带有公共区域的图表(参考:CombinedCategoryPlotDemo1.java) 第 20页 共 174页