`
log_cd
  • 浏览: 1089216 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JFreeChart应用之链接

阅读更多
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>
分享到:
评论

相关推荐

    Spring+JFreeChart 自动生成统计图

    NULL 博文链接:https://chaoyi.iteye.com/blog/2173710

    最新JFreeChartjar包下载链接

    将jfreechart-1.0.11.jar、jcommon-1.0.14.jar导入到应用中,就可以进行相关的开发。(文件里面已包含)

    王勇drp项目分析web开发分析

    掌握页面开发技术javasciprt的基本应用 掌握Ajax技术原理 掌握Tomcat链接池的配置 熟悉JFreechart的运用 了解验证码技术 熟悉上传组件的运用 掌握动态代理原理 掌握ThreadLocal原理 掌握常用的GoF和J2EE设计模式 ...

    Java.web整合开发王者归来整本书内容及光盘源码

    由于上传大小限制50M,因此分享的是我的百度网盘链接,下载后文本文件里有链接,包括Java Web整合开发王者归来整本书326.5M 的PDF文档以及54.7M的光盘源代码 本书简介: 资深Java程序员耗时一年时间写作,十年开发...

    Java资源包01

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包1

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包11

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包2

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包3

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包6

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包5

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包10

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包4

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包8

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包7

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包9

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包101

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    JAVA上百实例源码以及开源项目

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    JAVA上百实例源码以及开源项目源代码

    Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...

Global site tag (gtag.js) - Google Analytics