- 浏览: 1499586 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
一、新建一个web项目
二、在web.xml中配置servlet
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/servlet/DisplayChart</url-pattern>
</servlet-mapping>
三、新建一个ChartDemo类,写一个获得数据集方法
1、饼状图数据集
private static PieDataset getDataSet() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("苹果", 100);
dataset.setValue("梨子", 200);
dataset.setValue("葡萄", 300);
dataset.setValue("香蕉", 400);
dataset.setValue("荔枝", 500);
return dataset;
}
2、柱壮图数据集
private static CategoryDataset getDataSet2() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "北京", "苹果");
dataset.addValue(500, "北京", "荔枝");
dataset.addValue(400, "北京", "香蕉");
dataset.addValue(200, "北京", "梨子");
dataset.addValue(300, "北京", "葡萄");
dataset.addValue(500, "上海", "葡萄");
dataset.addValue(600, "上海", "梨子");
dataset.addValue(400, "上海", "香蕉");
dataset.addValue(700, "上海", "苹果");
dataset.addValue(300, "上海", "荔枝");
dataset.addValue(300, "广州", "苹果");
dataset.addValue(200, "广州", "梨子");
dataset.addValue(500, "广州", "香蕉");
dataset.addValue(400, "广州", "葡萄");
dataset.addValue(700, "广州", "荔枝");
return dataset;
}
3、折线图数据集
private static CategoryDataset getDataSet2() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "北京", "苹果");
dataset.addValue(500, "北京", "荔枝");
dataset.addValue(400, "北京", "香蕉");
dataset.addValue(200, "北京", "梨子");
dataset.addValue(300, "北京", "葡萄");
dataset.addValue(500, "上海", "葡萄");
dataset.addValue(600, "上海", "梨子");
dataset.addValue(400, "上海", "香蕉");
dataset.addValue(700, "上海", "苹果");
dataset.addValue(300, "上海", "荔枝");
dataset.addValue(300, "广州", "苹果");
dataset.addValue(200, "广州", "梨子");
dataset.addValue(500, "广州", "香蕉");
dataset.addValue(400, "广州", "葡萄");
dataset.addValue(700, "广州", "荔枝");
return dataset;
}
四、写一个主方法用来构造要显示的图形
1、饼状图
public static String generatePieChart(HttpSession session, PrintWriter pw,
int w, int h){
String filename = null;
PieDataset dataset = getDataSet();
JFreeChart chart = ChartFactory.createPieChart3D(
"水果产量图", // 图表标题
dataset, // 数据集
true, // 是否显示图例
false, // 是否生成工具
false // 是否生成URL链接
);
chart.setBackgroundPaint(Color.pink);
try {
/*------得到chart的保存路径----*/
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
filename = ServletUtilities.saveChartAsPNG(chart, w, h, info,session);
/*------使用printWriter将文件写出----*/
ChartUtilities.writeImageMap(pw, filename, info, true);
pw.flush();
} catch (IOException e) {
e.printStackTrace();
}
return filename;
}
2、柱状图
public static String generateBarChart(HttpSession session, PrintWriter pw,
int w, int h){
String filename = null;
CategoryDataset dataset = getDataSet2();
JFreeChart chart = ChartFactory.createBarChart3D(
"水果产量图", // 图表标题
"水果", // 目录轴的显示标签
"产量", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
try {
/*------得到chart的保存路径----*/
ChartRenderingInfo info = new ChartRenderingInfo
(new StandardEntityCollection());
filename = ServletUtilities.saveChartAsPNG(chart, w, h, info,session);
/*------使用printWriter将文件写出----*/
ChartUtilities.writeImageMap(pw, filename, info, true);
pw.flush();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return filename;
}
3、折线图
public static String generateLineChart(HttpSession session, PrintWriter pw,
int w, int h){
String filename = null;
CategoryDataset dataset = getDataSet2();
JFreeChart chart = ChartFactory.createLineChart(
"水果产量图", // 图表标题
"水果", // 目录轴的显示标签
"产量", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
/*----------设置消除字体的锯齿渲染(解决中文问题)--------------*/
chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
/*------------配置图表属性--------------*/
// 1,设置整个图表背景颜色
chart.setBackgroundPaint(Color.pink);
/*------------设定Plot参数-------------*/
CategoryPlot plot = chart.getCategoryPlot();
// 2,设置详细图表的显示细节部分的背景颜色
//plot.setBackgroundPaint(Color.PINK);
// 3,设置垂直网格线颜色
plot.setDomainGridlinePaint(Color.black);
//4,设置是否显示垂直网格线
plot.setDomainGridlinesVisible(true);
//5,设置水平网格线颜色
plot.setRangeGridlinePaint(Color.blue);
//6,设置是否显示水平网格线
plot.setRangeGridlinesVisible(true);
try {
/*------得到chart的保存路径----*/
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
filename = ServletUtilities.saveChartAsPNG(chart, w, h, info,session);
/*------使用printWriter将文件写出----*/
ChartUtilities.writeImageMap(pw, filename, info, true);
pw.flush();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return filename;
}
五、写一个调用JfreeChart的显示页面
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.io.PrintWriter"%>
<jsp:directive.page import="com.cn.ChartDemo"/>
<html>
<head>
<title>
</title>
<%
//以下部分为折线图象输出(调用不同的方法生成不同类型的图形)
String fileName=ChartDemo.generateLineChart(session,new PrintWriter(out),580,250);
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + fileName;
%>
</head>
<body bgcolor="#ffffff">
<table width="580" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<img src="<%= graphURL %>"width=580 height=250 border=0 >
</td>
</tr>
</table>
</body>
</html>
六、将项目发布到web服务器,启动web服务器。打开JfreeChart的显示页面就可以看效果了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/TechChan/archive/2009/02/04/3862100.aspx
发表评论
-
SSHTools
2011-08-31 13:51 1604SSHTools是一组JavaSSH应用程序。包括:JavaS ... -
项目代码
2011-08-29 18:05 01、 http://www.oschina.net/p/sh ... -
将 Shiro 作为应用的权限基础
2011-08-29 16:04 1836简介: Shiro 是 Java 世界中新近出现的权限框架,较 ... -
验证码生成组件---Jcaptcha
2011-08-29 09:21 2017首先来看看示例的目录结构: ... -
nnn
2011-08-03 16:45 0nnn -
jBPM4工作流应用开发指南
2011-07-21 10:10 3014jBPM4工作流应用开发指南 jbpm4.3安装注意: 1 ... -
jbpm.ppt
2011-07-19 17:14 1429jbpm -
相关知识
2011-07-18 17:23 1http://www.open-open.com/09.htm ... -
Magento
2011-01-24 15:20 1334官方网站:http://www.magentocommer ... -
SugarCRM客户关系管理系统
2010-11-30 09:14 1415http://www.sugarcrm.com/crm/cn -
相关知识
2010-10-22 17:35 11631、开源 http://www.easyjf.com/ 2、 ...
相关推荐
《JFreeChart开发全攻略》是一本专注于Java图表库JFreeChart的实战指南,它旨在帮助开发者深入理解和熟练运用这个强大的工具。JFreeChart是一个开源的Java类库,用于生成高质量的图表,包括饼图、柱状图、线图、散点...
《JFreeChart实战:全方位解析与应用》 JFreeChart是一款强大的开源Java图表库,它提供了丰富的图表类型,包括柱状图、折线图、饼图、散点图、甘特图、时间序列图等,适用于各种数据分析和可视化需求。在本项目中,...
在Java编程中,JFreeChart允许开发者通过简单的API调用来生成复杂的图表,这极大地简化了图形编程的过程。其主要特点包括: 1. **图形种类多样**:JFreeChart支持多种图表类型,如线形图、柱状图、饼图、面积图、...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的高质量图表,如柱状图、饼图、线图、散点图、甘特图等,适用于报表、数据分析、可视化应用等多个场景。本压缩包“jfreechart最全的帮助文档.rar”包含...
JFreeChart 是一个开源的Java库,用于生成高质量的图表,...教程中的JFreeChart Jar包、源码示例和中文文档为学习过程提供了全方位的支持。无论是初学者还是经验丰富的开发者,都可以从中获益,提升数据可视化的能力。
这个示例资源提供了JFreeChart的实践应用,帮助开发者了解如何在Java程序中创建和展示各种图表。 在运行JfreeChart示例之前,我们需要准备以下依赖库: 1. **jcommon-1.0.9.jar**:这是JFreeChart的一个基础库,...
JFreeChart是一款强大的Java图表库,它为开发者提供了一种简单的方法来创建各种类型的图表,如饼图、柱状图、线图、散点图、甘特图等,适用于数据分析、报表生成以及可视化应用的开发。这个压缩包包含了JFreeChart的...
**JFreeChart GUI Demo** **概述** `JFreeChart` 是一个开源的Java库,用于创建高质量的图表,包括柱状图、...这些示例代码涵盖了从数据准备、图表创建到界面集成的全过程,对于提升Java数据可视化能力具有很大帮助。
JFreeChart广泛应用于数据分析报告、Web应用程序、桌面应用程序等,例如在Java Swing或JavaFX中创建图形用户界面,或者在服务器端生成图表以发送到Web客户端。 8. **最佳实践** 使用JFreeChart时,建议先通过...
描述中的“非常齐全”提示我们,这个压缩包包含的不仅有JFreeChart的基本库,还可能包括了所有必要的扩展和附加组件,确保开发者在使用过程中不会因为缺少依赖而遇到问题。这可能是为了方便开发者快速集成到他们的...
总的来说,这个“jfreechart折线图demo”涵盖了从数据准备、图表创建到前端展示的全过程,对于理解 JFreeChart 以及它如何与 HTML/CSS/JQuery 集成非常有帮助。通过实践这个 demo,开发者可以快速掌握数据可视化的...
本文档旨在提供最新版本的JFreeChart帮助文档,并详细阐述其安装过程及如何利用该库创建不同类型的图表。 #### 二、下载与安装 1. **下载地址**:可以从以下网址下载JFreeChart:...
本篇将深入探讨JFreeChart的参考Demo、技术文档,以及如何解决在使用过程中可能遇到的乱码问题。 首先,**JFreeChart参考Demo**是学习和理解JFreeChart功能的绝佳资源。Demo中包含了各种类型的图表示例,展示了如何...
《JFreeChart全方位解析》 JFreeChart,作为一款强大的Java图表库,为开发者提供了丰富的图形绘制功能,广泛应用于数据分析、报表制作以及各种GUI应用中。这个名为“jfreechart_all”的压缩包,包含了JFreeChart的...
Java Web开发实例大全(提高卷)筛选、汇集了Java Web开发从基础知识到高级应用各个层面的大量实例及源代码,共有600个左右,每个实例及源代码按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析...
每个案例都详细讲解了项目的开发流程,以及代码的详细注释,有助于读者理解并掌握实际开发过程中遇到的问题和解决方案。 综上所述,本书不仅是对J2EE核心技术的一个全面介绍,也是一本实践操作指南,适合初、中、...
Java Web开发实例大全(提高卷)筛选、汇集了Java Web开发从基础知识到高级应用各个层面的大量实例及源代码,共有600个左右,每个实例及源代码按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析...
这些例子通常会涵盖数据准备、图表创建和显示的全过程,对于初学者来说是非常有价值的参考资料。通过阅读和运行这些示例,你可以快速掌握JFreeChart的使用,并将其应用到自己的项目中。 总的来说,JFreeChart为Java...
SWT(Standard Widget Toolkit)是Java编程环境中用于创建图形用户界面(GUI)的一种开源库,它是Eclipse项目的基础。...总的来说,这些库提供了一个完整的解决方案,覆盖了从数据处理、图表渲染到输出的全过程。
Swing是Java编程语言中的一个...在提供的文件名中,"安装.bat"可能是用于自动化安装过程的批处理文件,而"JAVACAD"可能是CAD绘图应用的主要程序文件或相关库。具体的功能和用法需要查看源代码或运行程序来进一步了解。