ImageVerifierCode 换一换
格式:DOCX , 页数:95 ,大小:317.26KB ,
资源ID:20562934      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20562934.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(使用JfreeChart创建基于WEB的图形报表newWord格式文档下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

使用JfreeChart创建基于WEB的图形报表newWord格式文档下载.docx

1、 bar charts (regular and stacked, with an optional 3D effect); line and area charts; scatter plots and bubble charts; time series, high/low/open/close charts and candle stick charts; combination charts; Pareto charts; Gantt charts; wind plots, meter charts and symbol charts; wafer map charts;JfreeCh

2、art提供的其他特性: complete source code is included, under the terms of the GNU Lesser General Public Licence; access to data from any source via dataset interfaces; support for multiple secondary axes and datasets; tooltips, zooming, printing; direct export to PNG and JPEG; export to PDF via iText and SVG

3、 via Batik (both described in the JFreeChart Developer Guide). 支持servlets, JSP (感谢Cewolf), applets 或者Java Application; 完善的Javadoc文档;第二章 体验JFreeChart本章采用JfreeChart的演示程序说明JfreeChart的基本功能。2.1环境可以采用Javac+UltraEdit方式演示,本文讲述依赖JbuilderX IDE开发。首先,解压缩jfreechart-0.9.16.zip包。( 获得jfreechart包,最新包为0.9.21版本。)1,将sr

4、c/org/jfree/chart/ 目录下的demo目录保留,删除其他目录。2,将jfreechart-0.9.16.jar包放到lib目录下。3,建立Jbuilder工程; 工程应用四个gnujaxp.jar ; jcommon-0.9.1.jar ; jfreechart-0.9.16.jar ;servlet.jar4,编译工程。5,以Application方式运行各个Demo。6,工程增加一个WEB Module ,命名为cewolf,支持Servlet。2.2 运行由于我们主要是WEB应用,所以演示以Servlet运行。1,在src/org/jfree/chart/demo目录下增

5、加下面的文件package org.jfree.chart.demo;import java.io.IOException;import javax.servlet.*;import javax.servlet.http.HttpServlet;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.se

6、rvlet.http.HttpSession;import org.jfree.data.*;import org.jfree.chart.*;/* * 演示通过servlet直接输出图表 * author Winter Lau */public class BarChart3DDemo2S extends HttpServlet /Process the HTTP Post request public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,

7、IOException doGet(request, response); /Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) throws response.setContentType(image/jpeg); DefaultPieDataset data = getDataSet(); JFreeChart chart = ChartFactory.createPie3DChart(水果产量图, data, true, false

8、, false ); ChartUtilities.writeChartAsJPEG(response.getOutputStream(), 100,chart,400,300,null); /* * 获取一个演示用的简单数据集对象 * return private static DefaultPieDataset getDataSet() DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue(苹果,100);梨子,200);葡萄,300);香蕉,400);荔枝,500); return dataset;2,

9、编译程序3,配置web.xml文件!DOCTYPE web-app PUBLIC -/Sun Microsystems, Inc./DTD Web Application 2.3/EN web-app servlet-nameBarChart3DDemo2Sservlet-classorg.jfree.chart.demo.BarChart3DDemo2S/servlet/web-app4,启动Tomcat,运行http:/localhost:8080/cewolf/ BarChart3DDemo2S5,在IE浏览器上可以看到如下图片,则恭喜你成功了!6,有兴趣可以实现下面几个图片 曲线图 柱

10、状图2.3 问题遇到问题了么,学会利用Jbuilder自己建立一个WEB工程吧!2.4 JFreeChart实现图形和应用交互很多情况我们不仅仅要求可以在浏览器上显示一个图表,我们更需要客户可以直接在图表上做一下交互的操作,例如获取信息提示,点击图表某个部分进行更详细信息的展示等等。例如前面生成的简单柱状图,用户需要在看到柱状图后点击某种水果例如是苹果即可看到各个地区苹果产量的情况。为此就要求该图形具有交互操作的功能。在HTML中为了让一个图像具有可交互的功能就必须给该图像定义一个Map对象。下表节选一段具有该功能的HTML代码MAP NAME=chartMapAREA SHAPE=RECT

11、COORDS=81,15,126,254 href=series=0&category=100 title=100 = 7,048 onclick=javascript:clickChart(100return false;143,27,188,255category=200200 = 6,721 clickChart (200205,54,250,255category=300300 = 5,929300267,85,312,255category=400400 = 5,005400329,17,374,255category=DietDiet = 7,017Diet/MAP由此就产生了一个

12、问题:如果根据一个图像来生成对应的MAP对象。我们回头看看刚才的代码,在创建一个图表对象时候有两个参数,我们举柱状图的例子来讲这两个参数就是ChartFactory. createBarChart3D方法中的最后两个参数,这两个参数的类型都是布尔值。这两个参数意思分别是:是否创建工具提示(tooltip)以及是否生成URL。这两个参数分别对应着MAP中一个AREA的title属性以及href属性。可是我想知道的是怎么来产生这个MAP啊!哈哈,不要着急,JFreeChart已经帮我们做好生成MAP对象的功能。为了生成MAP对象就要引入另外一个对象:ChartRenderingInfo。因为JFr

13、eeChart没有直接的方法利用一个图表对象直接生成MAP数据,它需要一个中间对象来过渡,这个对象就是ChartRenderingInfo。下图是生成MAP数据的流程图:如上图所示,ChartUtilities类是整个流程的核心,它周围的对象都是一些例如数据对象或者是文件等。这个流程简单描述如下:首先创建一个ChartRenderingInfo对象并在调用ChartUtilities的writeChartAsJPEG时作为最后一个参数传递进去。调用该方法结束后将产生一个图像文件以及一个填充好MAP数据的ChartRenderingInfo对象,有了这个对象我们还是没有办法获取具体的MAP数据,

14、我们还必须借助于ChartUtilities的writeImageMap方法来将ChartRenderingInfo对象读取出来。下面一段程序是Java Application 方式运行,生成一个html文件,运行该html文件可以展示交互效果。import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStream;import java.io.PrintWriter;import org.jfree.chart.ChartFactor

15、y;import org.jfree.chart.ChartRenderingInfo;import org.jfree.chart.ChartUtilities;import org.jfree.chart.JFreeChart;import org.jfree.chart.axis.CategoryAxis;import org.jfree.chart.axis.NumberAxis;import org.jfree.chart.axis.ValueAxis;import org.jfree.chart.entity.StandardEntityCollection;import org.

16、jfree.chart.labels.StandardCategoryItemLabelGenerator;import org.jfree.chart.plot.CategoryPlot;import org.jfree.chart.plot.PlotOrientation;import org.jfree.chart.renderer.BarRenderer;import org.jfree.chart.urls.StandardCategoryURLGenerator;import org.jfree.data.CategoryDataset;import org.jfree.data.

17、DatasetUtilities; * A demo showing how to create an HTML image map with JFreeChart. * * author David Gilbertpublic class ImageMapDemo1 * Default constructor. public ImageMapDemo1() * Starting point for the demo. * param args ignored. public static void main(String args) / create a chart double data

18、= new double 56.0, -12.0, 34.0, 76.0, 56.0, 100.0, 67.0, 45.0, 37.0, 45.0, 67.0, 25.0, 34.0, 34.0, 100.0, 53.0, 43.0, 54.0, 34.0, 34.0, 87.0, 64.0, 73.0, 12.0 ; CategoryDataset dataset = DatasetUtilities.createCategoryDataset(Series , Type , data); JFreeChart chart = null; boolean drilldown = true;

19、if (drilldown) CategoryAxis categoryAxis = new CategoryAxis(Category ValueAxis valueAxis = new NumberAxis(Value BarRenderer renderer = new BarRenderer(); renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator(); renderer.setItemURLGenerator(new StandardCategoryURLGenerator(bar_chart_d

20、etail.jsp); CategoryPlot plot = new CategoryPlot(dataset, categoryAxis, valueAxis, renderer); plot.setOrientation(PlotOrientation.VERTICAL); chart = new JFreeChart(Bar Chart, JFreeChart.DEFAULT_TITLE_FONT, plot, true); else chart = ChartFactory.createBarChart(Vertical Bar Chart, / chart title, / dom

21、ain axis label, / range axis label dataset, / data PlotOrientation.VERTICAL, true, / include legend chart.setBackgroundPaint(java.awt.Color.white); / * / * JFREECHART DEVELOPER GUIDE * / * The JFreeChart Developer Guide, written by David Gilbert, is available * / * to purchase from Object Refinery L

22、imited: / * * / * http:/www.object- * / * Sales are used to provide funding for the JFreeChart project - please * / * support us so that we can continue developing free software. * * / save it to an image try ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection(); File file1

23、 = new File(barchart100.png ChartUtilities.saveChartAsPNG(file1, chart, 600, 400, info); / write an HTML page incorporating the image with an image map File file2 = new File(barchart100.html OutputStream out = new BufferedOutputStream(new FileOutputStream(file2); PrintWriter writer = new PrintWriter

24、(out); writer.println(HTMLHEADTITLEJFreeChart Image Map Demo/HEADBODY ChartUtilities.writeImageMap(writer, chart, info);IMG SRC=barchart100.png + WIDTH=600 HEIGHT=400 BORDER=0 USEMAP=#chart/BODY/HTML writer.close(); catch (IOException e) System.out.println(e.toString();第三章 体验CeWolf标签库简单的说,Cewolf 以MVC框架的方式提供一个基于JFree

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

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