1.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>/servlet/DisplayChart</url-pattern>
</servlet-mapping>
2.javabean
package com.logcd.jchart;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpSession;
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.StandardPieToolTipGenerator;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.urls.StandardPieURLGenerator;
import org.jfree.data.general.Dataset;
import org.jfree.data.general.DefaultPieDataset;
public class MapPieChart {
/**
* 数据集
*
* @return
*/
public static DefaultPieDataset getDataset() {
//DatasetUtilities.createPieDatasetForColumn(arg0, arg1)
DefaultPieDataset pieDataset = new DefaultPieDataset();
pieDataset.setValue("苹果", 100);
pieDataset.setValue("梨子", 200);
pieDataset.setValue("葡萄", 300);
pieDataset.setValue("香蕉", 400);
pieDataset.setValue("荔枝", 500);
return pieDataset;
}
public static String createPieChart(Dataset dataset,String title, int width, int height,
HttpSession session, PrintWriter pw,String useMap,boolean is3D) {
String filename = "";
PiePlot plot = null;
if(is3D){
plot = new PiePlot3D((DefaultPieDataset)dataset);// 3D饼图
}else{
plot = new PiePlot((DefaultPieDataset)dataset);
}
plot.setURLGenerator(new StandardPieURLGenerator("view.jsp","fruit","pieIdex"));// 设定热区超链接
JFreeChart chart = new JFreeChart("", JFreeChart.DEFAULT_TITLE_FONT,
plot, true);
chart.setBackgroundPaint(java.awt.Color.white);// 可选,设置图片背景色
chart.setTitle(title);// 可选,设置图片标题
plot.setToolTipGenerator(new StandardPieToolTipGenerator());
plot.setNoDataMessage("无数据显示");
StandardEntityCollection sec = new StandardEntityCollection();
ChartRenderingInfo info = new ChartRenderingInfo(sec);
try {
filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info,
session);
ChartUtilities.writeImageMap(pw, useMap, info, false);// 输出MAP信息
pw.flush();
} catch (IOException e) {
e.printStackTrace();
}
return filename;
}
}
3.在jsp中调用
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="com.logcd.jchart.MapPieChart"%>
<%@ page import="java.io.PrintWriter"%>
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=GBK">
</HEAD>
<BODY>
<%
String filename = MapPieChart.createPieChart(MapPieChart
.getDataset(), "水果产量图",480, 350, session, new PrintWriter(out),
"imgMap", false);
String file = request.getContextPath()
+ "/servlet/DisplayChart?filename=" + filename;
String filename1 = MapPieChart.createPieChart(MapPieChart
.getDataset(), "水果产量图",480, 350, session, new PrintWriter(out),
"imgMap1", true);
String file1 = request.getContextPath()
+ "/servlet/DisplayChart?filename=" + filename1;
%>
<P ALIGN="CENTER">
<img src="<%=file%>" border=0 usemap="#imgMap">
</P>
<P ALIGN="CENTER">
<img src="<%=file1%>" border=0 usemap="#imgMap1">
</P>
</BODY>
</HTML>
分享到:
相关推荐
### jfreechart应用_经典例题 #### 一、引言 `jfreechart`是一款用Java编写的开源图表库,它可以用来创建各种各样的图表,包括饼图、条形图、柱状图、折线图等。这些图表广泛应用于数据分析、数据可视化等领域。...
在描述中提到的链接指向了博客文章 "https://jose-bing.iteye.com/blog/1168128",虽然具体内容没有提供,但通常这样的博客会包含作者对 JFreeChart 的使用经验、示例代码或特定功能的解释。JFreeChart 的用户可能会...
JFreeChart是一个强大的Java库,用于创建各种图表,如柱状图、饼图、线图等,而Struts框架则是一个成熟的MVC(模型-视图-控制器)架构,常用于构建Web应用。将JFreeChart与Struts结合,可以实现动态生成报表,特别是...
### JFreeChart在JSP开发中的应用心得 #### 一、引言 随着Web技术的飞速发展,基于互联网的应用程序不再局限于简单的静态内容展示,而是...JFreeChart的灵活性和强大的功能使其成为Web开发中不可或缺的工具之一。
**JFreeChart 1.0.9:一个强大的Java图表库** JFreeChart是一个流行的开源Java库,用于创建各种高质量的图表,包括折线图、柱状图、...要了解更多关于JFreeChart的使用方法,可以参考提供的博客链接或其他在线资源。
### JFreeChart与Eclipse集成应用详解 #### 引言 在数据分析与可视化领域,图表作为数据呈现的重要手段,能够直观地展现复杂数据关系,帮助用户快速理解数据背后的故事。JFreeChart,作为一款功能强大的Java图表...
在官网上找到下载链接,下载安装包,如本例中的jfreechart-1.0.19版本。下载后,解压缩文件,找到lib文件夹内包含的jar文件,主要包括jcommon-1.0.23.jar和jfreechart-1.0.19.jar这两个文件。这些文件包含了...
JFreeChart 广泛应用于数据分析、报表生成、Web 应用、桌面应用等领域。在 Web 应用中,通常结合 Servlet 或 JSP 技术,将图表作为图像输出到浏览器,如压缩包中的“JSP饼图”可能就是一个使用 JSP 显示饼图的例子。...
`XXXURLGenerator` 用于生成 Web 图表中各元素的点击链接,而 `XXXToolTipGenerator` 则用于生成鼠标悬停时的工具提示信息。这些类可以根据图表类型选择相应的实现。 对于时序图,JFreeChart 提供了 `...
首先,饼图是JFreeChart中最基础的图表类型之一,它通过扇形区域的大小来表示数据的比例关系。创建饼图时,我们需要提供一个Key-Value对的列表,Key代表类别,Value则代表该类别的值。JFreeChart提供了丰富的定制...
- **定义**:JFreeChart是一款开源的Java图形开发库,主要用于在应用程序、Applets、Servlets、JSP页面等环境中生成各种图表。 - **开源许可**:JFreeChart严格遵循GNU通用公共许可证,保证了用户对源代码的自由使用...
- 标题、轴标签、工具提示和URL链接。 - 坐标轴的范围和刻度。 - 图表的交互性,如点击事件、鼠标悬停提示等。 **3. 图表生成** jFreeChart可以生成多种格式的图表图像,如JPEG、PNG、GIF,便于集成到Web页面或...
在实际应用中,JFreeChart的仪表盘功能广泛应用于监控系统、数据分析工具、企业管理软件等。通过结合其他Java库,如Swing或JavaFX,可以构建出交互式的仪表盘应用程序,使用户能实时查看和分析数据。 总之,...
6. **与其他技术的结合**:JFreeChart可以与Servlets、JSP、Struts等Web开发框架结合,也可以用于桌面应用程序和移动应用。 7. **性能与兼容性**:JFreeChart是跨平台的,可以在任何支持Java的系统上运行,其高性能...
《JFreeChart开发指南》是针对Java开发者的一本宝贵资源,尤其对于那些希望在应用程序中创建高质量图表的开发者来说更是如此。JFreeChart是一个开源的Java库,它提供了丰富的图表类型,包括饼图、柱状图、线图、散点...
false // 显示URL链接 ); JFrame frame = new JFrame("JFreeChart Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(new ChartPanel(chart)); frame.pack(); ...
要获取JFreeChart,你可以访问其官方网站http://www.jfree.org/jfreechart/,在那里你可以找到最新版本的JFreeChart,以及相关的图表示例、下载链接、Javadoc文档和讨论社区。 对于学习和使用JFreeChart,有两种...
《JFreeChart学习详解》 JFreeChart是一个强大的Java库,用于生成高质量的图表,包括折线图、柱状图、饼图、散点图等多种类型。它在各种应用程序中广泛应用,尤其适合于Web应用程序中数据可视化的实现。本文将通过...