`

jfreechart例子

 
阅读更多
+------+-------------+
| id   | client_name |
+------+-------------+
|    1 | 一级经销商  |
|    2 | 二级经销商  |
|    3 | 三级经销商  |
+------+-------------+
3 rows in set (0.00 sec)

package com;

import java.io.IOException;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Iterator;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;

public class ChartDemoServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;

	public void service(ServletRequest req, ServletResponse res)
			throws ServletException, IOException {
		res.setContentType("image/jpeg");
		DefaultPieDataset data = getDataSet();
		req.setCharacterEncoding("UTF-8");
		res.setCharacterEncoding("UTF-8");
		JFreeChart chart = ChartFactory.createPieChart3D("I LOVE YOU", 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;
	}
}

在浏览器上输入,http://localhost:8080/JFreeChartTest/ChartDemoServlet
分享到:
评论

相关推荐

    jFreechart例子及jar

    标题中的 "jFreechart例子及jar" 指的是包含 `jFreeChart` 示例代码和可能的库文件,这对于开发者来说是一个宝贵的学习资源。在这个压缩包中,你可能会找到一个名为 `jfreechart-1.0.13-demo.src` 的文件,这通常...

    一个JFreeChart例子

    **JFreeChart库详解** JFreeChart是一款强大的Java图表库,它允许开发者在应用程序、Swing...通过深入学习和实践这个JFreeChart例子,开发者可以掌握如何在自己的项目中有效地利用这个库,以生成专业且美观的图表。

    word+excel+jfreechart例子

    这个名为"word+excel+jfreechart例子"的压缩包提供了三个示例,分别展示了如何使用Java来实现这些功能。下面我们将详细探讨每个方面的知识点。 首先,我们来看Java操作Word的部分。在Java中,可以使用Apache POI库...

    jfreeChart例子

    这个“jfreeChart例子”压缩包包含了一些示例代码,帮助开发者更好地理解和使用 JFreeChart。 1. **JFreeChart 的基本结构** JFreeChart 的核心组件包括 ChartFactory、Chart、Plot 和 Dataset。ChartFactory 用于...

    JFreeChart例子

    **JFreeChart例子详解** JFreeChart是一款强大的Java图表库,它允许开发者在应用程序中创建各种复杂的图表,如柱状图、饼图、线图、散点图等。本例子将深入探讨如何在Servlet环境中使用JFreeChart,并将其结果显示...

    Jfreechart 例子

    Jfreechart 例子 3d 2d 完善的

    JFreeChart例子Demo

    **JFreeChart例子Demo** JFreeChart是一款强大的Java图表库,它允许开发者在应用程序、Swing组件、Web应用以及各种报告中创建丰富的图形。在这个"JFreeChart例子Demo"中,我们将深入探讨如何利用JFreeChart来绘制...

    jfreechart经典例子

    标题“jfreechart经典例子”暗示了我们将深入探讨如何使用JFreeChart库创建各种图表,并通过具体的示例来理解其工作原理。 首先,JFreeChart库是开源的,这意味着它允许开发者自由地使用、修改和分发。它的API设计...

    jfreechart 例子全集

    这个"jfreechart 例子全集"是一个集合,包含了JFreeChart库的各种示例代码,旨在帮助开发者更好地理解和应用这个库。 1. **基本概念** JFreeChart 的核心在于它的`ChartFactory`类,通过这个类,我们可以快速创建...

    jfreechart例子和教程大全

    JFreeChart是一款强大的Java图表库,它为开发者提供了丰富的图表绘制功能,包括柱状图、饼图、线形图、散点图、甘特图等多种图表类型,适用于各种数据分析和可视化场景。本教程将深入探讨JFreeChart的核心概念、使用...

    JFreeChart 例子 源码 demo

    JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图...

    jfreechart例子源码

    这个压缩包文件"jfreechart例子源码"提供了JFreeChart库的一些原始示例代码,对于学习和理解如何在Java应用程序中使用JFreeChart进行图表开发非常有帮助。 JFreeChart库的核心概念是图表(Chart),它是所有可视化...

    JFreeChart例子工程,web页面展示图片

    **JFreeChart简介** JFreeChart是一款开源的Java图表库,它提供了丰富的图表类型,包括柱状图、饼图、曲线图等,用于在Java应用程序和网页中展示数据。这个库的强大之处在于其灵活性和可定制性,允许开发者根据需求...

Global site tag (gtag.js) - Google Analytics