首页 JFreeChart使用详细教程

JFreeChart使用详细教程

举报
开通vip

JFreeChart使用详细教程nullnullHttp://www.amttgroup.com动态图表JFreeChart作者:吴斌 日期:2011-05-15null1页简介 JFreeChart是Java中开源的制图组件,主要用于生成各种动态图表。在Java的图形报表技术中,JFreeChart组件提供了方便、快捷、灵活的制图方法。 作为一个功能强大的图形报表组件,JFreeChart为Java的图形报表技术提供了解决方案。在Java项目的应用中,JFreeChart组件几乎可以满足目前图形报表的所有需求。 JFreeChart组件可...

JFreeChart使用详细教程
nullnullHttp://www.amttgroup.com动态图表JFreeChart作者:吴斌 日期:2011-05-15null1页简介 JFreeChart是Java中开源的制图组件,主要用于生成各种动态图表。在Java的图形报表技术中,JFreeChart组件提供了方便、快捷、灵活的制图方法。 作为一个功能强大的图形报表组件,JFreeChart为Java的图形报表技术提供了解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。在Java项目的应用中,JFreeChart组件几乎可以满足目前图形报表的所有需求。 JFreeChart组件可以生成各种各样的图形报表,如常用的柱形图、区域图、饼形图、折线图、时序图、甘特图等;而对于同一种类型的图表,JFreeChart组件还提供了不同的表现方式。Http://www.amttgroup.comnull2页JFreeChart的下载与使用 JFreeChart是开放源代码的图形报表组件(开源站点SourceForge.net上的一个Jave项目),其主页为http://www.jfree.org/jfreechart/index.html。 在主页中单击DOWNLOAD导航链接将进入下载页面,选择所要下载的JfreeChart版本即可进行下载,目前最新版本为1.0.13。 在下载成功后将得到一个名为jfreechart-1.0.13.zip的压缩包,此压缩包包含JFreeChart组件源码、示例、支持类库等文件,将其解压缩后的文件结构如右图所示。 Http://www.amttgroup.comnull3页其中jfreechart-1.0.13-demo.jar 文件为JFreeChart组件提供的演示文件,运行此文件将可以看到利用JFreeChart组件制作的各种图表的样式及效果;source文件夹为JFreeChart的源代码文件夹,在此文件夹中可以查看到JFreeChart组件的源代码;lib文件夹为JFreeChart的支持类库。Http://www.amttgroup.comnull3页常见统计图介绍柱状图:也称条图、长条图、条状图,是一种以长方形的长度为变量的表达图形的统计报告图,由一系列高度不等的纵向条纹表示数据分布的情况,用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。柱状图图亦可横向排列,或用多维方式表达。Http://www.amttgroup.comnull4页饼形图:一个划分为几个扇区的圆形图表,用于描述量、频率或百分比之间的相对关系。在饼图中,每个扇区的弧长(以及(圆心角)和面积)大小为其所表示的数量的比例。这些扇区合在一起刚好是一个完全的圆形。顾名思义,这些扇区拼成了一个切开的饼形图案。Http://www.amttgroup.comnull5页折线图:是用一个单位长度表示一定的数量,根据数量的多少描出各点,然后把各点用线段顺次连接起来,以折线的上升或下降来表示统计数量增减变化。折线统计图不但可以表示出数量的多少,而且还能够清楚的表示出数量增减变化的情况。Http://www.amttgroup.comnull6页JFreeChart开发前准备开发前的准备,JfreeChart开发环境的搭建分为两步:导入JFreeChart组件包;配置JFreeChart。 1、导入JFreeChart包:导入在lib目录下的jfreechart-1.0.13.jar、jcommon-1.0.16.jar两个Jar包到 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 。 2、配置JFreeChart: JFreeChart组件能够成.JPEG、.PNG格式的图片,其输出方式可以直接存储在硬盘中,也可以交给JFreeChart组件进行管理。在Web应用中,所生成的图形报表一般均为动态图表,如果对每次生成的图表都进行直接存储,将Http://www.amttgroup.comnull7页会产生大量的垃圾文件,时间长了必须进行清理。因此,由JFreeChart组件进行管理来生成图片是一个不错的选择,它不仅可以提供图片的路径,而且在查看图片后JFreeChart组件会自动进行清理。 JFreeChart组件提供了一个Servlet文件用于获取生成的图片,此Servlet文件存在于JFreeChart组件包中,所以在使用过程中,需要将其配置到Web.xml文件中。其配置方法如下: Http://www.amttgroup.comnull8页JFreeChart开发流程JFreeChart分为三个步骤: 创建数据集:创建用来构成JFreeChart图表的数据,JFreeChart图表显示的数据都来源于数据集。 创建JFreeChart对象:JFreeChart类是一个制图对象,它代表着一种制图类型,在制图过程中,只有在创建制图对象JFreeChart后,才可以生成实际的图片。 获取图片:获取图片,在web页面显示。Http://www.amttgroup.comnull9页创建数据集在JFreeChart组件的图形报表技术应用中,绘制一个图表需要一定的数据,JFreeChart组件通过提供的数据进行计算并绘制出图表信息。由于在数据的分析计算中并不是单一的数值,绘制图表时就要为JFreeChart组件提供数据集合。 数据集合对象是用于装载绘制图表所需要的数据集。在JFreeChart组件中,针对不同图表类型提供了不同的数据集合对象,它们所具有的作用也是不同的。 常用的数据集对象: DefaultCategoryDataset类:默认的类别数据集合对象,可用于创建柱形图、折线图、区域图数据集合等。 DefaultPieDataset类:默认的饼形图数据集合对象,可用于创建饼形图数据集合。 Http://www.amttgroup.comnull10页 如下图所示方法,则创建了一个可用于绘制图表的数据集对象。该数据集可以用来用来创建简单的一维柱状图。不同的图形采用的数据集对象不同,同一数据集对象设置的数据不同,产生图形数据也不同。所以数据集生产图形 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 、形状的关键。Http://www.amttgroup.comnull11页创建JFreeChart对象在生成图形报表时,制图对象JFreeChart是必不可少的对象,它可以直接通过new关键字进行实例化,也可以通过制图工厂ChartFactory类进行实例化。当使用new关键字进行实例化时,需要设置大量的属性信息,因为JFreeChart组件提供的图表种类很多,对于每一种图表都要进行特殊的设置,非常繁琐。因此在使用过程中,一般都使用制图工厂ChartFactory类进行创建。 制图工厂ChartFactory是一个抽象类,它不能被实例化,但提供了创建各种制图对象的方法,如创建柱形图对象、区域图对象、饼形图对象、折线图对象等方法,这些方法都是静态的方法,可直接创建JFreeChart对象,并且是属于某一种具体的图表类型的JFreeChart对象,使用非常方便。Http://www.amttgroup.comnull12页ChartFactory常用方法及说明如下:Http://www.amttgroup.comnull13页如下图所示方法,通过制图工厂对象,创建了一个JFreeChart对象,其中createDataSet()方法返回数据集对象作为JFreeChart对象的数据来源。Http://www.amttgroup.comnull14页获取图片获取图片有两种方式,第一种方式会在tomcat temp目录生产图片文件,第二种方式采用输出流的方式获取图片,不会产生垃圾文件。 (1)在输出图片之前,首先要生成JFreeChart组件所绘制的图片。此操作通过调用ServletUtilities类的saveChartAsJPEG()方法来实现,它返回一个.JPEG格式的图片名称。 Http://www.amttgroup.comnull15页通过此方法生成图片后,调用已注册的JFreeChart提供的Servlet类DisplayChart,即可获取图片的相对路径。 输出图片在Jsp中的应用关键代码如下,可参照该代码将其运用到servlet或Struts2的Action中。Http://www.amttgroup.comnull16页(2)如下所示为采用输出流方式输出图片在struts2中的应用。调用ChartUtilities的writeChartAsJPEG 方法则可直接将图片输出到页面,而不用存储在硬盘中。Http://www.amttgroup.comnull17页ChartUtilities的writeChartAsJPEG 方法介绍: 如果想在Jsp页面调用该图片,把图片的src请求路径设置为产生输出流的Action即可,例如: Http://www.amttgroup.comnull18页两种图片获取方式分析通过对比,我们可发现,第一种图片获取方式是在Action中生成图片到硬盘,在Action返回时通过给页面传递该图片的路径来访问图片。这样,在同一个显示页面,无论你有多少个图片要显示,都可以通过一个Action去生成多个图片,传递其路径来实现,图片路径只是Action传递的众多参数中的普通一员。而且该Action能配置返回值,所以该Action实际上就是我们的业务Action,用来实现跳转。通过给该Action传递参数,处理数据,生成图片,跳转到页面,流程清晰,也符合我们一贯的程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 思维。 我们再来看第二种图片获取方式。该方式没有实际生成图片,而是通过在Action中将图片的数据流直接写到页面上。首Http://www.amttgroup.comnull19页先该Action不能拥有返回值,无法实现页面跳转,不能作为我们的业务Action。所以处理业务单元,我们还得有另外的业务Action。这样就会出现两个问题: 一是参数的传递,比如在页面我们有参数传递给业务Action,处理完业务,传递一些参数跳转到页面,但这时并没有涉及到图片的生成,图片的生成是在通过页面中的img标签的src去请求额外的生成图片的Action,通过数据流方式将图片写到页面。这样就还会涉及到用来处理图片逻辑的参数的二次传递,显然这种设计是比较鸡肋的。 二是当一个业务单元中需要多个图片,就得为每张图片设计一个输出图片数据流的Action,显然不可取。Http://www.amttgroup.comnull20页综合分析:图片输出,我们采用第一种方式。但第一种方式时间久了,会产生大量的垃圾图片文件。JFreeChart也考虑到了这一问题,为我们设计了一个监听器用来删除垃圾图片。该监听器的原理是:当session失效时,则删除由该session产生的图片文件。监听器在web.xml中配置如下: Session失效并不是浏览器关闭时,默认时间是30分钟,可以自己设置。Http://www.amttgroup.comnull21页至此,经过以上三步,一个简单统计图就展现在页面上了。 通常情况下,为了使所生成的图片更加美观、大方,需要对所生成的图片进行一定的设置。可以通过以下几个对象对生成的图片进行设置。 制图工厂对象ChartFactory:该对象提供了一个对图片主题进行设置的方法。其中standardChartTheme为StandardChartTheme对象。 制图对象JFreeChart:通过该对象提供的方法可以对图片标题字体、背景图片、背景颜色、边框等进行设置。JFreeChart类常用方法及说明如下表: Http://www.amttgroup.comnull22页坐标轴对象。 绘图区对象。 图片渲染对象。 Http://www.amttgroup.comnull23页坐标轴对象在JFreeChart组件中涉及到坐标轴类型的图表时,其样式与属性由坐标轴对象Axis类进行控制。此类是坐标轴对象的父类,其常用方法及说明如下表所示: Http://www.amttgroup.comnull24页JFreeChart组件针对不同类型的图表对象,提供了不同类型的坐标轴对象,由Axis类的子类进行扩展,其常用子类主要有:CategoryAxis类、ValueAxis类、NumberAxis类、DateAxis类。 (1)CategoryAxis类 CategoryAxis类是Axis类的子类,主要用于对分类轴的相关属性进行设置,其常用方法及说明如下表所示。 Http://www.amttgroup.comnull25页(2)ValueAxis类 ValueAxis类是Axis类的子类,也是NumberAxis类与DateAxis类的父类,主要用于对数据轴的相关属性进行设置,其常用方法及说明如下表所示。 Http://www.amttgroup.comnull26页(3)NumberAxis类 NumberAxis类是ValueAxis类的子类,主要用于对数值类型数据轴的相关属性进行设置,其常用方法及说明如下表所示。 Http://www.amttgroup.comnull27页(4)DateAxis类 DateAxis类是ValueAxis类的子类,主要用于对日期轴的相关属性进行设置,其常用方法及说明如下表所示。 Http://www.amttgroup.comnull28页绘图区对象通过数据集合生成的数据图表,可以通过绘图区对象进行属性设置,例如背景色、透明度等。绘图区对象是JFreeChart组件中的一个重要对象,由Plot类定义,可以通过此类设置绘图区属性及样式,其常用方法及说明如下表所示。 Http://www.amttgroup.comnull29页JFreeChart所能生成的图形报表是多种多样的,仅仅一个Plot类并不能满足绘图区样式的设置,在对不同类型图形的设置中,可以通过Plot的子类进行实现,其常用子类主要有:PiePlot类、CategoryPlot类、XYPlot类。 (1)PiePlot类 PiePlot类是Plot类的子类,主要用于描述PieDataset数据集合类型的图表,通常使用此类来绘制一个饼形图,其常用方法及说明如下表所示。Http://www.amttgroup.comnull30页Http://www.amttgroup.comnull31页(2)CategoryPlot类 CategoryPlot是Plot类的子类,类主要用于描述CategoryDataset数据集合类型的图表,它支持折线图、区域图等,其常用方法及说明如下表所示。 Http://www.amttgroup.comnull32页(3)XYPlot类 XYPlot类是Plot类的子类,主要用于描述XYDataset数据集合类型的图表。此类可以具有0或多个数据集合,并且每一个数据集合可以与一个渲染对象相关联,其常用方法及说明如下表所示。 Http://www.amttgroup.comnull33页图片渲染对象图片渲染对象用于渲染和显示图表,它在图表的显示效果方面起着很大的作用。在JFreeChart组件中,渲染对象定义为AbstractRenderer类,此类是所有渲染对象的父类,但它是一个抽象类,其常用方法及说明如下表所示。 在图片渲染对象中,JFreeChart组件同样对AbstractRenderer类进行了扩展,在使用过程中可根据实际需要,选择合适的AbstractRenderer类的子类对象。 Http://www.amttgroup.comnull34页JFreeChart在Struts2中的应用JFreeChart无论是应用在JSP、Servlet,还是Struts2 的Action,其开发流程的前两步都是一样的:创建数据集、创建JFreeChart对象。乃至其获取图片的方式都一样。获取图片得到一个图片的请求路径,只是这个路径是用Actiong传递给JSP,还是用Servlet传递给JSP,还是JSP直接写Java代码来获取这个路径的区别。所以说本质上一样的。能看懂JSP获取图片路径的方式就自然能将其改写成Action,如下图附上Actiong中应用实例。 graphURL为图片请求路径,将其传递给JSP页面即可。Http://www.amttgroup.comnull35页Http://www.amttgroup.comnull36页JFreeChart DEMO工程介绍工程名:jfreeChatpro。 访问项目主页:http://localhost:8080/。即可访问所有示例图表。 右图所示为工程目录结构。Http://www.amttgroup.comnull37页谢谢观看Http://www.amttgroup.com
本文档为【JFreeChart使用详细教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_985214
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2011-10-10
浏览量:31