JFreeChart使用总结.docx

上传人:b****7 文档编号:11056952 上传时间:2023-02-24 格式:DOCX 页数:43 大小:214.67KB
下载 相关 举报
JFreeChart使用总结.docx_第1页
第1页 / 共43页
JFreeChart使用总结.docx_第2页
第2页 / 共43页
JFreeChart使用总结.docx_第3页
第3页 / 共43页
JFreeChart使用总结.docx_第4页
第4页 / 共43页
JFreeChart使用总结.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

JFreeChart使用总结.docx

《JFreeChart使用总结.docx》由会员分享,可在线阅读,更多相关《JFreeChart使用总结.docx(43页珍藏版)》请在冰豆网上搜索。

JFreeChart使用总结.docx

JFreeChart使用总结

 

JFREECHART

使用总结

目录

一、JFreeChart简介3

二、JFreeChart的获取3

三、JFreeChart环境配置3

四、JFreeChart功能介绍4

五、JFreeChart核心类库介绍4

六、JFreeChart开发5

第一步:

建立DataSet数据源5

第二步:

创造JFreeChart5

第三步:

设置图形显示的属性6

第四步:

写入图片或输出界面6

七、JFREECHART图片在web中的应用8

7.1在eclipse中创建tomcat工程8

7.2创建web.xml8

7.3配置web.xml9

7.4创建含有JFreeChart图片的页面9

7.5配置server.xml12

7.6测试页面12

八、JFreeChart使用的优缺点13

1.优点:

13

2.缺点:

13

附录1:

JFreeChart中文API(ApplicationProgrammingInterface)14

附录2:

GNU通用公共许可证(中文版)22

导言22

0.定义23

1.源代码23

2.基本的许可24

3.保护用户的合法权利不受反破解法侵犯24

4.发布完整副本24

5.发布修改过的源码版本24

6.发布非源码形式的副本25

7.附加条款26

8.终止授权27

9.获取副本不需要接受本授权27

10.下游接收者的自动授权27

11.专利权28

12.不要放弃别人的自由29

13.和GNUAffero通用公共授权一起使用29

14.本授权的修订版29

15.免责申明29

16.责任范围30

17.第15和16节的解释30

一、JFreeChart简介

JFreeChart是开放源代码站点SourceF上的一个JAVA项目,它主要用来各种各样的图表,这些图表包括:

饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。

这些不同式样的图表基本上可以满足目前的要求。

当在项目中客户需要图标分析时,JFreeChart便是最好的选择,JFreeChart是开源项目,可以方便的从其官方网站上获得其源代码,可以方便的与Swing相结合使用,还可以导入到Web页面中,更是可以方便的利用其工厂方法将图表写入jpeg或者png格式的图片中,本文档将简要介绍小JFreeChart的使用。

二、JFreeChart的获取

JFreeChart是JFreeChart公司在开源网站SourceF上的一个项目,该公司的主要产品有如下:

        1.JFreeReport:

报表解决工具

        2.JFreeChart:

Java图形解决方案(Application/Applet/Servlet/Jsp)

        3.JCommon:

JFreeReport和JFreeChart的公共类库

        4.JFreeDesigner:

JFreeReport的报表设计工具

    我们可以从jfree官方网站上获取最新版本和相关资料(但是jfree的document需要40美金才能获取),

    获取地址:

http:

//www.jfree.org/jfreechart/index.html(同时可以获得简明介绍)

    我们以当前最新版本:

jfreechart-1.0.12.zip为例子进行说明。

三、JFreeChart环境配置

    1、解压jfreechart-1.0.12.zip到指定位置,其中source是jfreechart的源码,jfreechart-1.0.12-demo.jar是例子程序。

    2、为了配置成功,我们需要关注的文件有如下三个:

jfreechart-1.0.12.jar、lib\jcommon-1.0.15.jar、lib\gnujaxp.jar。

JCommon-1.0.15.jar是一组有用的classes集合.这个类库包含了以下功能:

*文本工具类(textutilities), *用来显示关于应用程序信息的用户界面类, *布局定制管理器, *一个日期选择面板, *序列化工具类, *XML解析器支持类。

    3、如果是Application开发,把上述三个文件拷贝到%JAVA_HOME%\LIB中,同时在环境变量CLASSPATH中加入。

在开发中,还有在工程中导入jfreechart-1.0.12.jar,jcommon-1.0.15.jar,否则会在文件第一行提示有错误。

       如果是WEB开发,以TOMCAT中的一个WEB项目TEST为例子说明:

       把上述三个文件拷贝到TEST\WEB-INF\LIB中,然后修改TEST\WEB-INF\web.xml文件,在其中加入如下代码:

               

 

                    DisplayChart

                    org.jfree.chart.servlet.DisplayChart

                

                

                    DisplayChart

                    /servlet/DisplayChart

                

               至此jfreechart的配置就完成了,下面就可以进行jfreechart的开发了。

这里值得提出的是jfreechart的类结构设计前后兼容性不是很好,不同版本的jfreechart中类库结构可能不一样,有时候可能需要查源码。

四、JFreeChart功能介绍

JFreeChart是一个免费的Java图表库,让开发人员开发出专业的图表显示在他们的应用程序。

JFreeChart'sextensivefeaturesetincludJFreeChart的广泛的功能包括:

∙aconsistentandwell-documentedAPI,supportingawiderangeofcharttypes;翔实的API,支持各种各样的图表类型;

∙aflexibledesignthatiseasytoextend,andtargetsbothserver-sideandclient-sideapplications;一种灵活的设计,易于扩展,和指标均服务器端和客户端的应用;

∙支持多种类型的输出,包括Swing界面,图像文件(包括PNG和JPEG格式),和矢量图形文件格式;

∙JFreeChart是“开源”,或更具体的免费软件。

使用JFREECHART能够是新下列图表:

饼图(二维和三维),柱状图(水平,垂直),线图,点图,时间变化图,甘特图,股票行情图,混和图,温度计图,刻度图等常用商用图表。

五、JFreeChart核心类库介绍

jfreechart源码主要由两个大的包组成:

org.jfree.chart和org.jfree.data。

其中前者主要与图形本身有关,后者与图形显示的数据有关。

核心类主要有:

           org.jfree.chart.JFreeChart:

图表对象,任何类型的图表的最终表现形式都是在该对象进行一些属性的定制。

JFreeChart引擎本身提供了一个工厂类用于创建不同类型的图表对象。

           org.jfree.data.category.XXXDataSet:

数据集对象,用于提供显示图表所用的数据。

根据不同类型的图表对应着很多类型的数据集对象类。

           org.jfree.chart.plot.XXXPlot:

图表区域对象,基本上这个对象决定着什么样式的图表,创建该对象的时候需要Axis、Renderer以及数据集对象的支持。

           org.jfree.chart.axis.XXXAxis:

用于处理图表的两个轴:

纵轴和横轴。

           org.jfree.chart.render.XXXRender:

负责如何显示一个图表对象。

           org.jfree.chart.urls.XXXURLGenerator:

用于生成Web图表中每个项目的鼠标点击链接。

           XXXXXToolTipGenerator:

用于生成图象的帮助提示,不同类型图表对应不同类型的工具提示类。

六、JFreeChart开发

要建立一个JFreeChart图形主要有以下三个步骤(以柱图为例):

第一步:

建立DataSet数据源

BarChart使用的dataset接口是org.jfree.data.defaultcategorydataset的dataset。

使用categorydataset的子类org.jfree.data.defaultcategorydataset,再用addValue()方法把资料加入到dataset中,建立包含数值的二维阵列,代码如下:

DefaultCategoryDatasetdataset=newDefaultCategoryDataset();

dataset.addValue(100,"100","苹果");

dataset.addValue(200,"200","梨子");

dataset.addValue(300,"300","葡萄");

dataset.addValue(400,"400","香蕉");

dataset.addValue(500,"500","荔枝");

dataset.addValue(600,"600","西瓜");

或者使用org.jfree.data.datasetutilities,CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data); 

其中:

rowKeys表示X轴数据,columnKeys表示Y轴数据,data表示填充柱状图所要的实际数据(来自于数据库)。

第二步:

创造JFreeChart

要用dataset创造一个JFreeChart类别,我们并不直接实例化出一个JFreeChart实例,而是使用ChartFactory工厂类来创造一个JFreeChart实例。

代码如下:

JFreeChartchart=ChartFactory.createBarChart3D(

"水果产量图",//JFreeChart标题

"水果",//目录轴显示标签

"产量",//数值轴显示标签

dataset,//数据源

PlotOrientation.VERTICAL,//图表方向:

水平、垂直

true,//是否是否显示图例(对于简单的柱状图是false)

false,//是否生成热点工具

false);//是否生成URL连接

第三步:

设置图形显示的属性

a ) ValueAxis类,设置柱到图上下边的距离。

实现方法是:

 

ValueAxis rangeAxis = plot.getRangeAxis(); 

设置最高的一个柱与图片顶端的距离:

 

rangeAxis.setUpperMargin(0.15) 

设置最低的一个柱与图片底端的距离:

 

rangeAxis.setLowerMargin(0.15) 

b)org.jfree.chart.renderer.BarRenderer3D类,设置图形上显示的数值。

实现方法如下:

 

BarRenderer3D renderer = new BarRenderer3D(); 

renderer.setBaseOutlinePaint(Color.BLACK); 

设置 Wall 的颜色:

 

renderer.setWallPaint(Color.gray); 

设置每个柱的颜色:

 

renderer.setSeriesPaint(0, new Color(0, 0, 255)); 

renderer.setSeriesPaint(1, new Color(0, 100, 255)); 

renderer.setSeriesPaint(2, Color.GREEN); 

设置每个柱的 Outline 颜色

renderer.setSeriesOutlinePaint(0, Color.BLACK); 

renderer.setSeriesOutlinePaint(1, Color.BLACK); 

renderer.setSeriesOutlinePaint(2, Color.BLACK); 

设置每个地区所包含的平行柱之间的距离

renderer.setItemMargin(0.1); 

显示每个柱的数值,并修改该数值的字体属性 

renderer.setItemLabelFont(new Font("黑体",Font.PLAIN,12)); 

renderer.setItemLabelsVisible(true); 

为图形加入超连接 

renderer.setItemURLGenerator(new StandardCategoryURLGenerator()); 

renderer.setToolTipGenerator(new StandardCategoryToolTipGenerator()); 

第四步:

写入图片或输出界面

a.写入图片

利用ChartUtilities.writeChartAsJPEG(fos_jpg,//图片输出地址

1.0f,//设置图片质量

chart,//指定chart

500,//设置图片宽度

400);//设置图片高度

在打开图片时,有可能出现异常,注意扑捉异常。

代码如下:

FileOutputStreamfos_jpg=null;

try{

fos_jpg=newFileOutputStream("D:

fruit.jpg");

ChartUtilities.writeChartAsJPEG(fos_jpg,1.0f,chart,500,400);

}finally{

try{

fos_jpg.close();

}catch(Exceptione){}

}

b.显示图片

使用ChartFrame类,

ChartFrameChartFrame=newChartFrame(“水果产量图”,chart);

chartFrame.pack();

chartFrame.setFont(newFont("宋体",Font.BOLD,20));

chartFrame.setVisible(true);

柱状图实例结果输出:

其他的图创建方法都类似,但是每种图形都将对应每个dataset,所以在使用的时候注意选择创建dataset数据源。

七、JFREECHART图片在web中的应用

通过上边的介绍,我们已经知道JFreechart是很好的Java图表生成工具,利用JFreeChart可以很方便的生产饼图、折线图、柱图等图表。

可以更加形象的分析数据。

本部分主要介绍JFreeChart生成的图片在Web工程中的应用。

7.1在eclipse中创建tomcat工程

在eclipse中创建tomcat工程,须先在eclipse中安装tomcat插件。

Tomcat插件是开源项目,可以在其官方网站免费获得。

Tomcat插件获得的网站是,在IDE中选择“Window”菜单的“CustomizePerspective…”,展开弹出窗口的Other结点,可以看到下面有Tomcat选项,打上钩按“OK”关闭窗口。

做完这一步,在IDE的工具栏就会能看到tomcat小猫的图标。

然后在到“Windows”菜单的“perferences”去做一些关于tomcat的设置,正确选择所安装的tomcat版本(我使用的是Tomcat5.5版本),指定tomcat主目录和tomcat的server.xml配置文件,然后展开Tomcat,选下边的JVMSetting,选择JRE为“DetectedVM”,确认无误后点击”OK”完成设置。

好了,完成以上的设置,此时就可以在eclipse中创建一个tomcat工程,选择“IDE”的“file”菜单下面的“Project”菜单,选择”TomcatProject”,然后输入工程名字(TestJFreeChartWeb),点击“Finnish”完成工程创建。

7.2创建web.xml

在Tomcat工程目录下WEB-INF目录下,创建web.xml。

具体步骤为:

1.在右击Tomcat工程目录下WEB-INF目录,选择“new”->“File”。

2.输入file名称为web.xml,点击“finish”完成创建。

3.在打开的file中输入以下内容:

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEweb-appPUBLIC

"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN"

"

至此完成web.xml的创建。

7.3添加相关JAR文件

1.右击项目名选择“BuildPath”,在其下拉框中选择最后一个“ConfigBulidPath”。

2.选择“Libraries”。

3.然后在选择“AddExternalJARs…”.

4.在弹出的对话框中选择在/common/lib/jasper-runtime.jar,jsp-api.jar,servlet-api.jar等JAR包文件。

在加入JFreeChart需要的jfreechart-1.0.12.jar,jcommon-1.0.15.jar即可。

5.再将jfreechart-1.0.12.jar,jcommon-1.0.15.jar拷到工程目录下WEB-INF/lib文件夹中即可。

7.3配置web.xml

在web.xml文件中间加入以下的配置。

DisplayChart

org.jfree.chart.servlet.DisplayChart

DisplayChart

/servlet/DisplayChart

7.4创建含有JFreeChart图片的页面

1.右击Tomcat工程目录下WEB-INF目录,选择“new”->“File”。

2.输入file名称为xyline.jsp,点击“finish”完成创建。

3.打开File文件,在文件中输入以下代码:

<%@pagecontentType="text/html;charset=GB2312"%>

—导入JFreeChart需要的包-->

<%@pageimport="org.jfree.*,

java.io.*"%>

java.awt.Font,

org.jfree.data.category.CategoryDataset,

org.jfree.chart.ChartUtilities,

org.jfree.chart.renderer.category.LineAndShapeRenderer,

org.jfree.chart.labels.StandardCategoryItemLabelGenerator,

org.jfree.chart.plot.CategoryPlot,

org.jfree.data.category.DefaultCategoryDataset,

org.jfree.chart.ChartFactory,

org.jfree.chart.plot.PlotOrientation,

org.jfree.chart.JFreeChart,

org.jfree.chart.servlet.ServletUtilities,

org.jfree.chart.entity.StandardEntityCollection,

org.jfree.chart.ChartRenderingInfo,

org.jfree.chart.imagemap.StandardURLTagFragmentGenerator,

org.jfree.chart.labels.StandardCategoryItemLabelGenerator,

org.jfree.chart.renderer.xy.XYLineAndShapeRenderer,

<%@pageimport="org.jfree.data.general.DatasetUtilities,org.jfree.chart.imagemap.StandardToolTipTagFragmentGenerator

"%>

程序员学历情况调查表

<%

//创建折线图需要的数据源

double[][]data={{380,1620,6100,3520,180}};

String[]rowKeys={"人数"};

St

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1