- 浏览: 36780 次
- 性别:
- 来自: 北京
文章分类
JFreeChart 1.0.2的动态应用,根据数据库中的数据生成饼图:(部分来自网页)
本文用的是JFreeChart 1.0.2 (根据版本不同需要根据类修改部分代码)
下载:http://www.jfree.org/jfreechart/index.html
下载后解压jfreechart-1.0.2.zip,会发现在lib下有几个jar文件,本文只介绍生成饼图的例子:
1,首先将lib下的jcommon-1.0.5.jar和jfreechart-1.0.2.jar放到你的项目的lib下面,
2,一个用于实验的表:(client)
id |
client_name |
1 |
一级分销商 |
2 |
二级分销商 |
3 |
三级分销商 |
3,建立一个用于查询数据的类:
package com.drp.statreport;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;
import com.drp.util.DB;//我的一个用于链接数据库的javabeen
/**
* 统计报表管理类,采用单例模式
* @author qiao
*/
public class StateReportManger {
private static StateReportManger intense = new StateReportManger();
private StateReportManger(){}
public static StateReportManger getIntense(){
return intense;
}
/**
* 返回分销商级别数
* @return 返回Map<client_name,数量> eg:("一级分销商,10","二级分销商,10")
*/
public Map getClientLevelCount(){
Map map = new HashMap();
String sql = "select client_name,count(id) as qty from client group by client_name ";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = DB.getConn();//自己的javabeen链接数据库
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()){
map.put(rs.getString("client_name"), rs.getInt("qty"));
}
}catch(SQLException e){
e.printStackTrace();
}finally{
DB.close(rs);//javabeen用于关闭资源
DB.close(stmt);
DB.close(conn);
}
return map;
}
}
4,建立一个servlet输出图形:
Web.xml中添加如下配置:
<servlet>
<servlet-name>ChartDemoServlet</servlet-name>
<servlet-class> com.drp.util.servlet.ChartDemoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ChartDemoServlet</servlet-name>
<url-pattern>/servlet/ChartDemoServlet</url-pattern>
</servlet-mapping>
package com.drp.util.servlet;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import org.jfree.data.*;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.*;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
import com.drp.statreport.StateReportManger;
/**
* 演示通过servlet直接输出图表
* @author
*/
public class ChartDemoServlet extends HttpServlet {
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException
{
res.setContentType("image/jpeg");
DefaultPieDataset data = getDataSet();
JFreeChart chart = ChartFactory.createPieChart3D("分销商分布",data,true,false,false);
PiePlot3D plot=(PiePlot3D)chart.getPlot();
// 图片中显示百分比:默认方式
//plot.setLabelGenerator(new StandardPieSectionLabelGenerator(StandardPieToolTipGenerator.DEFAULT_TOOLTIP_FORMAT));
// 图片中显示百分比:自定义方式,{0} 表示选项, {1} 表示数值, {2} 表示所占比例 ,小数点后两位
plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})", NumberFormat.getNumberInstance(), new DecimalFormat("0.00%")));
// 图例显示百分比:自定义方式, {0} 表示选项, {1} 表示数值, {2} 表示所占比例
plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})"));
ChartUtilities.writeChartAsJPEG(res.getOutputStream(),
1.0f,chart,400,300,null);
}
/**
* 获取一个演示用的简单数据集对象
* @return
*/
private static DefaultPieDataset getDataSet() {
DefaultPieDataset dataset = new DefaultPieDataset();
Map map = StateReportManger.getIntense().getClientLevelCount(); //调用getClientLevelCount()得到所有的数据
for(Iterator iter = map.entrySet().iterator();iter.hasNext();){//遍历,用到Map的. entrySet()方法
Map.Entry entry = (Map.Entry) iter.next();
dataset.setValue((String)entry.getKey(), Double.parseDouble(String.valueOf(entry.getValue())));//设置数据
}
return dataset;
}
}
5,在地址栏输入http://localhost:8080/(你的项目名称)/servlet/ChartDemoServlet 就可以看到如下图:
发表评论
-
Tomcat解决URL传中文的方法
2007-09-28 19:03 826在TOMCAT-HOME/conf/server.xm ... -
介绍两个jsp上传组件commons-fileupload和SmartUpload(部分来自网页)
2007-09-28 21:39 1071第1个上传组件commons-fileupload ==== ... -
仍一个能增减行的javascript
2007-10-08 18:52 707<html><head> <s ... -
jFreeChart初探(静态应用)
2007-10-09 14:17 560初学JFreeChart,整理一个例子:(部分来自网页) ... -
初探tomcat连接池
2007-10-11 18:30 527相关工具: tomcat版本5.5 ,mysql,drp(数据 ... -
初探struts中的(Converter)的一个例子
2007-10-18 19:09 551Struts中的Converter可以将一些特定对象转换成字符 ... -
other
2007-10-19 18:23 611最近正在抽时间研究jive的源代码,如果有谁想 ... -
struts(il8n)实现国际化的一个例子
2007-10-19 20:45 791struts利用在session中放一个local对象来 ... -
struts中自定义taglib函数例子
2007-10-21 12:43 614首先建立自己的函数:package com.struts; ... -
一个从另一个打开页面返回值的javascript例子
2007-11-16 14:52 730今天写项目的时候用到了需要从另一个打开页面取值的j ... -
struts中利用ExceptionHandler处理异常
2007-11-22 13:33 625在Struts1.X的版本中加入了对异常的处理 ... -
DWR学习及应用
2007-11-25 20:31 611DWR是一个开源的类库,可以帮助开发人员开发包含AJAX技术 ... -
java群
2007-12-03 20:25 63刚健了一个java群,用于大家互相探讨java,共同促进学习, ... -
ibatis学习(三)---ibatis与spring的整合
2007-12-07 18:26 1965Spring通过DAO模式,提供了对iBATIS的良好支持 ... -
ibatis学习(二)--ibatis使用介绍
2007-12-07 18:27 678SqlMapClient对象 这个对象是iBatis操作 ... -
ibatis学习(一)--ibatis介绍以及用例
2007-12-07 18:31 610介绍 iBATIS是以SQL为中 ... -
dwr实现级联菜单
2007-12-08 10:39 750Dwr的介绍请见:http://www.blogjava. ... -
JSF学习及应用一-(安装配置)
2007-12-11 09:38 700JSF(JavaServer Faces) JSF是JA ... -
JSF学习及应用二-(用例)
2007-12-11 09:41 536实例1 1、 创建一个JSP 2、 在相同的路径下,用. ... -
JSF学习及应用三-(与spring整合)
2007-12-11 09:46 622JSF与Spring整合的原理是获得彼此的上下文引用,以此 ...
相关推荐
JFreeChart 在 web中的应用JFreeChart 在 web中的应用JFreeChart 在 web中的应用JFreeChart 在 web中的应用JFreeChart 在 web中的应用
WWW的发展使得基于因特网的应用程序不再局限于静态或者简单的动态内容提供。传统的一些以软件包形式发布应用程序例如报表系统等都在逐渐搬到...因此我们下面将介绍一个JAVA的图表引擎JFreeChart用来产生基于WEB的图表。
java
当在项目中客户需要图标分析时,JFreeChart便是最好的选择,JFreeChart是开源项目,可以方便的从其官方网站上获得其源代码,可以方便的与Swing相结合使用,还可以导入到Web页面中,更是可以方便的利用其工厂方法将...
应用服务器(Application Server)是运行Java企业组件的平台,在开发企业级的Web应用程序方面能提供更灵活强大的支持,构成应用软件的主要运行环境。当前主流的应用服务器是BEA公司的Weblogic Server和IBM公司的...
jFreeChart应用,包含web应用及普通应用程序应用,含有jFreeChart所需的jar包及相关教程,还有两个简单的实例源代码,jFreeChart入门很有帮助
Java Web应用开发 58 课堂案例-应用JFreeChart组件实现柱状图.docx 学习资料 复习资料 教学资源
JFreeChart使用心得:JFreeChart使用具体每一步的编码及注释。+ 一个web应用下的实际例子 注:转自其他人的总结。
Java Web应用开发 57 课堂案例-应用JFreeChart组件生成饼形图.docx 学习资料 复习资料 教学资源
1. JFreeChart是一组功能强大、...它能够用在Swing和Web等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过引领读者学习在JFreeChart中饼图、柱状图和曲线图的进阶应用,来达到熟练使用JFreeChart的目的。
饼图,柱形图,曲线图!...它能够用在Swing和Web等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过引领读者学习在JFreeChart中饼图、柱状图和曲线图的进阶应用,来达到熟练使用JFreeChart的目的。
继上次发的普通web下的jfreechart应用demo,struts2下jfreechart的应用,源码
jfreechart-1.0.0-demo.jar jfreechart-1.0.0.zip JFreeChart-API.chm JFreeChart -- 柱状图.mht ...JFreeChart在JSP开发中的应用心得.mht 使用 JFreeChart来创建基于web的图表_IBM.mht 使用JFreeChart创建图象http.mht
JFreeChart是完全基于Java语言的开源项目,因此可以使用在Java开发环境中,包括Java应用程序,或者是Java Web应用都没有任何问题。结合iText项目,可将生成的统计图表输出到PDF文件中;结合最新的POI项目,也可以将...
用在Swing和Web等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过引领读者学习在 JFreeChart中饼图、柱状图和曲线图的进阶应用,来达到熟练使用JFreeChart的目的。 1. JFreeChart JFreeChart 是...
使用 JFreeChart来创建基于web的图表,包括饼图、折线图、柱形图、平面、立体的以及桌面应用的图标开发和WEB图表开发
Java Web开发实例大全(提高卷)筛选、汇集了Java Web开发从基础知识到高级应用各个层面的大量实例及源代码,共有600个左右,每个实例及源代码按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析...
Jfreechart研究技术文档,包括技术简介、应用范围、技术特点、基本概念、技术举例、使用步骤归纳、参考资料说明
JFreeChart是一组功能强大、灵活...它能够用在Swing和Web等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过引领读者学习在JFreeChart中饼图、柱状图和曲线图的进阶应用,来达到熟练使用JFreeChart的目的。
JFreeChart组件在基于JSP的Web统计图表中的应用与实现(1).pdf.........