JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。如此好用的东西,我就想试一把。
1、去JFreeChart官网上下载jfreechart-1.0.14包,解压缩后找到lib目录,里面有好多jar包,其中jfreechart-1.0.14.jar、jcommon-1.0.17.jar是两个基础包必须导入到项目中去,至于网上上的gnujaxp.jar这个包,如果导入这个包的会出现文中后面说的错误。不知道为什么有些人说这个包也是必须包,我用的时候根本就没有导入这个包还不是照样用啊。
2、新建一个web工程,然后新建一个show.jsp页面,show.jsp页面的代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="gbk" contentType="text/html; charset=gbk"%>
<%@ page import="org.jfree.data.general.DefaultPieDataset" %>
<%@ page import="org.jfree.chart.JFreeChart"%>
<%@ page import="org.jfree.chart.ChartUtilities" %>
<%@ page import="org.jfree.chart.plot.PiePlot"%>
<%@ page import="org.jfree.chart.ChartRenderingInfo"%>
<%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
<%@ page import="org.jfree.chart.urls.StandardPieURLGenerator"%>
<%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
//创建一个数据集对象
DefaultPieDataset data = new DefaultPieDataset();
//设置数据集对象中的数据
data.setValue("六月",500);
data.setValue("七月",580);
data.setValue("八月",828);
PiePlot plot = new PiePlot(data);
//创建一个饼状图对象
JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT,plot, true);
//设置报表标题
chart.setTitle("JFreeChart测试");
//可选,设置图片标题
chart.setBackgroundPaint(java.awt.Color.white);
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
//500是图片长度,300是图片高度
String filename =ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);
String url=request.getContextPath()+"/DisplayChart?filename="+filename;
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>JfreeChart生成饼状图</title>
</head>
JfreeChart生成饼状图例子
<P ALIGN="CENTER">
<img src="<%=url%>" >
</P>
</body>
</html>
但是很遗憾的事情是,我并没有看到我的饼状图啊!不知道为什么!我自己也在寻求高人指点。哎
文章开头说的如果导入gnujaxp.jar包出现如下错误:1、org.xml.sax.SAXParseException: URI was not reported to parser for entity [document]
2、org.xml.sax.SAXParseException: No base URI; hope URI is absolute: http://www.springframework.org/dtd/spring-beans.dtd
等等以上错误的话,果断把gnujaxp.jar包给干掉啊!干掉这个包就解决了上面的问题啊。
分享到:
相关推荐
**11.1 初涉 JFreeChart** 11.1.1 JFreeChart简介 JFreeChart是一个开源的Java库,设计用于生成高质量的2D图表。它支持多种图表类型,包括饼图、条形图、折线图、散点图等,适合于各种业务场景。通过Struts 2的...
19 Jsp与动态网站初体验 20 状态管理 21 JSTL和EL 22 JSP综合运用 23-24 项目案例:论坛短消息 25-26 项目案例:电子书城 27 Servlet基础 28 servlet应用 29 JSP+Servlet+JavaBean 30自定义MVC框架 31 指导学习:...
Ajax(Asynchronous JavaScript and XML)技术的讲解是本书的一个重点,它允许网页实现异步数据交互,不需要刷新整个页面即可更新部分内容,提高了用户体验和Web应用的响应速度。 Struts2框架的介绍则着重于其作为...
无论是对于初入行的新手,还是寻求职业提升的资深开发者,一份制作精良的简历都能够有效地突出自己的优势,从而在激烈的就业市场中脱颖而出。对于JavaScript程序员来说,简历是他们展示自己技术实力和项目经验的重要...
Play框架的新版本发布,这个基于Java和Scala的Web开发框架,可能引入了新特性、修复了bug,以增强开发者的体验和项目的可维护性。 10. **Tomcat 6.0.24发布**: Apache Tomcat服务器的更新版本,可能包含了安全...
无论是图形处理、音效播放、数据存储还是人工智能算法,Java都拥有成熟的类库和框架,如JavaFX、JFreeChart、Lucene等,这些都能极大地简化开发过程,加快产品上市速度。 具体到开发流程,基于Java的手机小游戏开发...
系统设计之初,我们需要考虑以下几个主要模块: 1. **用户管理**:这是系统的基础,包含用户注册、登录、权限管理等功能。SpringBoot结合Spring Security或Apache Shiro等安全框架,可以轻松实现用户身份验证和授权...
咖啡销售系统,作为一个全面的业务管理系统,对于初入Java开发领域的从业者来说,是极好的学习和实践平台。它涵盖了从需求分析、系统设计、编码实现到测试上线的全过程,帮助开发者深入理解软件工程的各个环节,提升...