步骤说明:
1,导入log4j.jar,jfreechart-0.9.18.jar,jcommon-0.9.3.jar三个jar包
2,在某个包中写入Pie.java类
package com.mengya.util;
import java.awt.Color;
import java.awt.Font;
import java.awt.Insets;
import java.io.PrintWriter;
import javax.servlet.http.HttpSession;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.labels.StandardPieItemLabelGenerator;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.DefaultPieDataset;
public class Pie {
private DefaultPieDataset data = new DefaultPieDataset();
public void setValue(String key, double value) {
data.setValue(key, value);
}
public String generatePieChart(String title, HttpSession session,
PrintWriter pw, int wPhoto, int hPhoto) {
String filename = null;
try {
JFreeChart chart = ChartFactory.createPieChart3D(title, data, true,
true, false);
// 设置图片的背景色
chart.setBackgroundPaint(new java.awt.Color(189, 235, 255));
// 设置图片标题的字体和大小
Font font = new Font("黑体", Font.CENTER_BASELINE, 16);
TextTitle _title = new TextTitle(title);
_title.setFont(font);
chart.setTitle(_title);
PiePlot plot = (PiePlot) chart.getPlot();
plot.setInsets(new Insets(5, 5, 5, 5));
// 在统计图片上建连结
// plot.setURLGenerator(new StandardPieURLGenerator("link.jsp",
// "section"));
plot.setStartAngle(270);
// 指定显示的饼图上圆形还椭圆形
plot.setCircular(false);
// 指定图片的透明度
plot.setForegroundAlpha(1.0f);
// 没有数据时显示的消息
plot.setNoDataMessage("当天没有统计数据");
plot.setNoDataMessageFont(new Font("黑体", Font.CENTER_BASELINE, 16));
plot.setNoDataMessagePaint(Color.RED);
// plot.setRadius(0.70);
// 抽离一个 section 出来,不支持3D
// plot.setExplodePercent(1, 1.00);
plot.setSectionOutlinePaint(Color.BLACK);
// 显示百分比
plot.setLabelGenerator(new StandardPieItemLabelGenerator(
StandardPieItemLabelGenerator.DEFAULT_TOOLTIP_FORMAT));
// 设置背景的透明度
plot.setBackgroundAlpha(0.6f);
// 把生成的图片放到临时目录
ChartRenderingInfo info = new ChartRenderingInfo(
new StandardEntityCollection());
// 500是图片长度,300是图片高度
filename = ServletUtilities.saveChartAsJPEG(chart, wPhoto, hPhoto,
info, session);
ChartUtilities.writeImageMap(pw, filename, info);
pw.flush();
} catch (Exception e) {
System.out.println("Exception - " + e.toString());
e.printStackTrace(System.out);
filename = "public_error_500x300.png";
}
return filename;
}
}
3,配置web.xml,在web.xml中添加如下内空:
<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>/DisplayChart</url-pattern>
</servlet-mapping>
4,在要显示图片的jsp中添加内容:
<%@ page import="com.mengya.util.Pie"%>
<%@ page import="com.mengya.bean.VegetableBean"%>
<%@ page import="java.io.PrintWriter"%>
<%
Pie biz = new Pie();
List ar = (ArrayList) request.getAttribute("arr");
for (int i = 0; i < ar.size(); i++) {
VegetableBean bean = (VegetableBean) ar.get(i);
biz.setValue(bean.getV_name(), bean.getV_count());
}
String filename = biz.generatePieChart("蔬菜品种例比图", session,
new PrintWriter(out), 700, 450);
String url = request.getContextPath() + "/DisplayChart?filename="
+ filename;
%>
<table align="center" border="0">
<tr>
<td>
<P ALIGN="CENTER">
<img src="<%=url%>" width=700 height=450 border=1
usemap="#<%=filename%>">
</p>
</td>
</tr>
</table>
- 饼状图实例.rar (1.4 MB)
- 描述: 我的JavaWeb图形报表饼状图实例
- 下载次数: 423
分享到:
相关推荐
在这个JavaWeb图形报表柱状图实例中,我们将深入探讨如何利用Java和相关工具来创建柱状图。 首先,要生成柱状图,我们需要一个库来帮助我们处理图形。Java社区中有许多优秀的图表库,例如JFreeChart和ECharts。本例...
根据提供的文件信息,我们可以深入探讨如何在JavaWeb项目中实现饼状图的生成与展示。以下将详细解析标题、描述及部分代码所涉及的关键知识点。 ### 标题:“javaweb饼状图” 该标题表明文章的主要内容是关于在...
JavaWeb项目报表案例是将数据以图形化或表格形式展示在Web应用中的实践示例,主要涉及的技术点包括JavaWeb开发、JFreeChart插件的使用以及报表设计。在这个案例中,我们将深入探讨如何利用JavaWeb技术和JFreeChart库...
在JavaWeb开发中,生成图形报表是常见的需求,特别是折线图,它能直观地展示数据的变化趋势。本文将详细讲解如何使用JavaWeb技术来创建一个折线图报表。 首先,实现折线图报表需要引入相关的库。在这个案例中,我们...
图形化报表则进一步将数据以图形的形式展示,如柱状图、饼图、折线图等,使得数据趋势和关系一目了然。在JavaWeb环境中,这种报表通常用于后台管理系统,帮助管理者监控业务指标、分析数据变化。 实现JavaWeb中的...
javaweb,开源,报表,JFreeChart,详解
在JavaWeb开发中,报表打印是一项关键任务,它涉及到数据的可视化展示以及用户对数据的交互。本方案宝典着重探讨了如何在JavaEE环境中高效地实现报表打印,旨在为开发者提供一系列实用的技术选择和最佳实践。以下是...
javaweb课程设计图书购物网站源代码。基于JSP和MySQL的网上图书购物系统。javaweb课程设计图书购物网站源代码。基于JSP和MySQL的网上图书购物系统。javaweb课程设计图书购物网站源代码。基于JSP和MySQL的网上图书...
不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:图书馆管理系统 不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:图书馆管理系统 不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:图书...
JavaWeb报表工具通常内置了图形库,如JFreeChart,可以方便地生成这些图表,并嵌入到报表中。 在实际项目中,报表的动态生成是关键。这通常涉及到参数传递,用户可以根据特定条件筛选数据,生成个性化的报表。此外...
JavaWeb知识结构图,是帮助我们学习JAVA的一种方向。
基于JavaWeb的学院图书借阅系统基于JavaWeb的学院图书借阅系统基于JavaWeb的学院图书借阅系统基于JavaWeb的学院图书借阅系统基于JavaWeb的学院图书借阅系统基于JavaWeb的学院图书借阅系统基于JavaWeb的学院图书借阅...
用于开发JAVA报表,javaweb图形,及开发如office这样办公软件的最佳选着。。 并开放其源码。。。由于软件太大故分为两部分。。
“利用JFreeChart实现Java中饼状图、柱状图等图表并在Jsp中显示”这个标题表明我们将探讨如何使用JFreeChart库来创建各种类型的图表,如饼状图和柱状图,并且这些图表能够在JavaServer Pages (JSP) 中展示。...
利用javaweb技术采用MVC模式开发的在线图书馆管理系统 整个项目采用myeclipse软件开发,该项目可以直接运行在Tomcat服务器上。 1.项目分别利用jsp显示用户查询前端页面及其管理员对图书的增删改查(CURD)功能界面。...
JavaWeb报表制作与管理是企业级应用中常见的一项任务,涉及到数据处理、用户交互和后台服务等多个方面。在这个项目中,我们使用了SpringMVC、Spring、MyBatis以及MySQL等核心技术,构建了一个功能完善的报表系统。接...
Javaweb实现的优优图书商城源码 主要功能介绍: 用户注册、登录、个人信息管理、通过邮件找回密码 图书搜索、购买、在线浏览,购物车管理 后台echart图表显示、源代码在线编辑 主要技术: 数据库 : mysql 后台...
《基于JavaWeb的图书馆查询系统详解》 JavaWeb技术在当今的互联网开发中扮演着重要的角色,尤其在构建企业级应用方面,它以其强大的稳定性和灵活性受到广大开发者的青睐。本篇文章将深入探讨一个基于JavaWeb的图书...
JSP+servlet+javabean学习 ...JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar JavaWeb09-EL与JSTL.rar JavaWeb10-分页应用.rar JavaWeb11-图片验证码.rar JavaWeb12-文件上传.rar JavaWeb13-过滤器与监听器.rar