预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共39页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

丰泽教育主要内容Jfreechart简介JFreeChart的下载与使用其中jfreechart-1.0.13-demo.jar文件为JFreeChart组件提供的演示文件,运行此文件将可以看到利用JFreeChart组件制作的各种图表的样式及效果;source文件夹为JFreeChart的源代码文件夹,在此文件夹中可以查看到JFreeChart组件的源代码;lib文件夹为JFreeChart的支持类库。柱状图:也称条图、长条图、条状图,是一种以长方形的长度为变量的表达图形的统计报告图,由一系列高度不等的纵向条纹表示数据分布的情况,用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。柱状图图亦可横向排列,或用多维方式表达。饼形图:一个划分为几个扇区的圆形图表,用于描述量、频率或百分比之间的相对关系。在饼图中,每个扇区的弧长(以及(圆心角)和面积)大小为其所表示的数量的比例。这些扇区合在一起刚好是一个完全的圆形。顾名思义,这些扇区拼成了一个切开的饼形图案。折线图:是用一个单位长度表示一定的数量,根据数量的多少描出各点,然后把各点用线段顺次连接起来,以折线的上升或下降来表示统计数量增减变化。折线统计图不但可以表示出数量的多少,而且还能够清楚的表示出数量增减变化的情况。JFreeChart开发前准备会产生大量的垃圾文件,时间长了必须进行清理。因此,由JFreeChart组件进行管理来生成图片是一个不错的选择,它不仅可以提供图片的路径,而且在查看图片后JFreeChart组件会自动进行清理。 JFreeChart组件提供了一个Servlet文件用于获取生成的图片,此Servlet文件存在于JFreeChart组件包中,所以在使用过程中,需要将其配置到Web.xml文件中。其配置方法如下: JFreeChart分为三个步骤: 创建数据集:创建用来构成JFreeChart图表的数据,JFreeChart图表显示的数据都来源于数据集。 创建JFreeChart对象:JFreeChart类是一个制图对象,它代表着一种制图类型,在制图过程中,只有在创建制图对象JFreeChart后,才可以生成实际的图片。 获取图片:获取图片,在web页面显示。创建数据集如下图所示方法,则创建了一个可用于绘制图表的数据集对象。该数据集可以用来用来创建简单的一维柱状图。不同的图形采用的数据集对象不同,同一数据集对象设置的数据不同,产生图形数据也不同。所以数据集生产图形内容、形状的关键。创建JFreeChart对象ChartFactory常用方法及说明如下:如下图所示方法,通过制图工厂对象,创建了一个JFreeChart对象,其中createDataSet()方法返回数据集对象作为JFreeChart对象的数据来源。获取图片有两种方式,第一种方式会在tomcattemp目录生产图片文件,第二种方式采用输出流的方式获取图片,不会产生垃圾文件。 (1)在输出图片之前,首先要生成JFreeChart组件所绘制的图片。此操作通过调用ServletUtilities类的saveChartAsJPEG()方法来实现,它返回一个.JPEG格式的图片名称。 通过此方法生成图片后,调用已注册的JFreeChart提供的Servlet类DisplayChart,即可获取图片的相对路径。 输出图片在Jsp中的应用关键代码如下,可参照该代码将其运用到servlet或Struts2的Action中。(2)如下所示为采用输出流方式输出图片在struts2中的应用。调用ChartUtilities的writeChartAsJPEG方法则可直接将图片输出到页面,而不用存储在硬盘中。ChartUtilities的writeChartAsJPEG方法介绍: 如果想在Jsp页面调用该图片,把图片的src请求路径设置为产生输出流的Action即可,例如: 两种图片获取方式分析先该Action不能拥有返回值,无法实现页面跳转,不能作为我们的业务Action。所以处理业务单元,我们还得有另外的业务Action。这样就会出现两个问题: 一是参数的传递,比如在页面我们有参数传递给业务Action,处理完业务,传递一些参数跳转到页面,但这时并没有涉及到图片的生成,图片的生成是在通过页面中的img标签的src去请求额外的生成图片的Action,通过数据流方式将图片写到页面。这样就还会涉及到用来处理图片逻辑的参数的二次传递,显然这种设计是比较鸡肋的。 二是当一个业务单元中需要多个图片,就得为每张图片设计一个输出图片数据流的Action,显然不可取。综合分析:图片输出,我们采用第一种方式。但第一种方式时间久了,会产生大量的垃圾图片文件。JFreeChart也考