1.基本配置
在JFreeChart的官方网站(http://www.jfree.org/jfreechart/index.html)上可以下载到该插件,该插件有两个版本:
jfreechart-1.0.6.zip,该版本适用于Windows系统。
jfreechart-1.0.6.tar.gz,该版本适用于UNIX / Linux系统。
本书所有案例的开发环境均为Windows系统,解压缩jfreechart-1.0.6.zip后将得到一个名为jfreechart-1.0.6的文件夹,只需将lib子文件夹内的如下文件拷贝到WEB应用程序的/WEB-INF/lib文件夹内:
jfreechart-1.0.5.jar
jcommon-1.0.10.jar
junit.jar
gnujaxp.jar
servlet.jar
并且在/WEB-INF/web.xml文件中添加如下代码,就可以利用JFreeChart插件生成统计图表了。
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/servlet/DisplayChart</url-pattern>
</servlet-mapping>
2.开发思路
在利用JFreeChart插件生成统计图表时,大体有两种开发思路,一种是通过工厂类ChartFactory创建JFreeChart实例,另一种是通过JFreeChart类创建JFreeChart实例。
在通过工厂类ChartFactory创建JFreeChart实例时,基本的开发思路如下:
(1)创建相应统计图的数据集实例。
(2)通过工厂类ChartFactory创建JFreeChart实例,ChartFactory类中的所有方法均需要传入一个数据集实例。
(3)订制图片和绘图区的绘制属性,该步可选。
(4)生成指定格式的图片,并返回生成图片的名称。
(5)组织图片浏览路径。
(6)通过HTML中的<img>元素显示图片。
在通过JFreeChart类创建JFreeChart实例时,基本的开发思路如下:
(1)创建相应统计图的绘图区实例;
(2)创建相应统计图的数据集实例,并传入绘图区实例;
(3)订制绘图区的绘制属性,例如绘图区的背景色,柱形图坐标轴的绘制属性,饼形图图例的填充色等,该步可选;
(4)通过JFreeChart类创建JFreeChart实例,JFreeChart类的所有构造方法均需要传入一个绘图区实例;
(5)订制图片的绘制属性,例如图片的标题、背景色等,该步可选;
(6)生成指定格式的图片,并返回生成图片的名称;
(7)组织图片浏览路径;
(8)通过HTML中的<img>元素显示图片。
3.核心API简介
在使用JFreeChart插件之前,先了解一下该插件的核心类及其功能,这对将来能够得心应手的使用该插件是非常重要的,JFreeChart核心类及其功能请参见表5.1。
表5.1
JFreeChart核心类及其功能
类名 | 功能 |
JFreeChart | 图表对象。生成任何类型的图表都要通过该对象,JFreeChart插件提供了一个工厂类ChartFactory,用来创建各种类型的图表对象 |
XXXDataset | 数据集对象。用来保存绘制图表的数据,不同类型的图表对应着不同类型的数据集对象 |
XXXPlot | 绘图区对象。如果需要自行定义绘图区的相关绘制属性,需要通过该对象进行设置 |
XXXAxis | 坐标轴对象。用来定义坐标轴的绘制属性 |
XXXRenderer | 图片渲染对象。用于渲染和显示图表 |
XXXURLGenerator | 链接对象。用于生成Web图表中项目的鼠标单击链接 |
XXXToolTipGenerator | 图表提示对象。用于生成图表提示信息,不同类型的图表对应着不同类型的图表提示对象 |
通过工厂类ChartFactory,可以创建各种类型的图表对象,常用的创建JFreeChart实例的方法及其功能请参见表5.2。
表5.2
ChartFactory类中常用方法及其功能
名称 | 功能 |
createBarChart()和createBarChart3D() | 分别用来创建绘制普通柱形图和3D柱形图的JFreeChart实例,它们基于的是DefaultCategoryDataset类型的数据集 |
createXYBarChart() | 用来创建绘制普通柱形图的JFreeChart实例,它基于的是TimeSeries类型的数据集,TimeSeries数据集主要用来绘制与日期和时间相关的统计图 |
createStackedBarChart()和createStackedBarChart3D() | 它们同createBarChart()和createBarChart3D()的功能相同,只是绘制出的柱形图效果不同,它们可以互换使用 |
createPieChart()和createPieChart3D() | 分别用来创建绘制普通饼形图和3D饼形图的JFreeChart实例,它们基于的是DefaultPieDataset类型的数据集 |
createLineChart()和createLineChart3D() | 分别用来创建绘制普通折线图和3D折线图的JFreeChart实例,它们基于的是DefaultCategoryDataset类型的数据集 |
createXYLineChart() | 用来创建绘制普通折线图的JFreeChart实例,它基于的是TimeSeries类型的数据集,TimeSeries数据集主要用来绘制与日期和时间相关的统计图 |
createAreaChart() | 用来创建绘制普通区域图的JFreeChart实例,它基于的是DefaultCategoryDataset类型的数据集 |
createXYAreaChart() | 用来创建绘制普通区域图的JFreeChart实例,它基于的是TimeSeries类型的数据集,TimeSeries数据集主要用来绘制与日期和时间相关的统计图 |
createTimeSeriesChart() | 用来创建绘制普通时序图的JFreeChart实例,时序图与折线图有些类似,不过时序图提供了绘制移动平均线的功能,通过给定的数据集实例,可以自动计算任意时间段的移动平均值,它基于的是TimeSeries类型的数据集,TimeSeries数据集主要用来绘制与日期和时间相关的统计图 |
注意:ChartFactory类中的所有方法均需要传入一个数据集实例,并且返回值类型均为JFreeChart
分享到:
相关推荐
JFreeChart中文帮助文档(chm)
jfreechart中文帮助文档和教程,描述jfreechart的具体生产代码
其中包括JfreeChart需要的jar包,和JfreeChart的中文帮助文档,很实用的哦,能做立体的报表 很不错
JFreeChart API(中文) JFreeChart目前是最好的java图形解决方案,基本能够解决目前的图形方面的需求,主要包括如下几个方面: pie charts (2D and 3D):饼图(平面和立体) bar charts (regular and stacked, ...
关于jfreechart的帮助文档,包括了源码 的讲解,很详细,
JFreeChart中文文档 帮助JFreeChart开发用户应用JFreeChart
相当全面的JFreeChart的中文帮助文档,基本上囊括了所有JFreeChart的类的描述
JFreeChart学习资料.doc 中文帮助文档
jFreeChart中文帮助文档
jfreechartAPI帮助文档,不错的参考资料
中文,html5+API中文帮助文档,HTML语言教程,JavaEE6.0_API_帮助文档,JavaEE7-api,JBoss jBPM 3.0,jBPM4.3用户指南,JDK+8.0+EN+API,JDOM_API_帮助文档,JFreeChart+API+文档,jQuery1.3中文参考,JScript 中文...
jfreechart最全的帮助文档.rar.。。。。。。。。。。。里面收集了很多个
压缩包里面包含了jfreechart的英文API和中文的帮助文档,还有demo文件夹里面是图标的例子
用JFreeChart制作报表,此帮助文档包括了所有的方法。
网络上的jfreechart帮助文档,大部分为英文版的,个人下载了一份中文版的并做了一些处理,增加了文档结构图,查看相应的方法比较快捷
jfreechart1.0.17相关jar包及学习API,里面有相关Dome案列和API中文帮助文档及相关解释
CSS 2.0 中文手册.chm,HTML4 参考手册.chm,HTML5 参考手册.chm,JavaScript使用手册.chm,JDK_API_1_6_zh_CN.CHM,JFreeChart+API.chm,jQuery 1.4.1 参考文档.chm,JScript中文帮助.CHM,MySQL5.1参考手册.chm,...
很适合初学者使用的JFREECHART中文帮助文档,里面包括如何用JAVA,或者JSP,生成饼状图,柱状图等,蛮有用的
柱状图(1) jfreechart(1) 参考手册》中文版(1) 库存调拨单.(1) 生成条形码(1) .chm(1) jfreechart-0.9.11.jar(1) 分支限界法(1) 解空间树(1) 贪心算法(1) 帮助文档(1) 最新tomcat(1) 购物车(1) 王晓东算法设计java...
是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iTextAsian.jar itext中关于亚洲编码的类库,在这里用于中文字体的输入。 junit.jar Junit包,...