+------+-------------+ | 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事例
热度:189 发布时间:2012-10-06 17:34:01.0
相关解决方案
- JfreeChart 跟 HighChart比较,哪个更方便,更强大
- struts+jfreechart,路径有关问题
- JFreechart 在页面Map能够链接,但是放进action就报错,该怎么处理
- JfreeChart 和 HighChart比较,哪个更方便,更强大,该怎么处理
- JFreeChart 生成雷达图(急)解决思路
- jfreechart 怎么设置柱子之间的间距
- jfreechart 怎么在柱状图中画一条平均线
- jfreechart 除开灰色背景
- jfreechart wafer 地图
- 用cewolf+jFreeChart 开发WEB 图形表格
- JFreeChart x y轴 出现汉语 乱码
- JFreeChart 施用示例
- 应用 JFreeChart 来创建基于 web 的图表
- jfreechart (三)
- 施用 JFreeChart 来创建基于 web 的图表
- [转]jfreechart 使用_例题_生成饼状图(展示,生成文件,WEB项目)_可以直接运行
- 运用 JFreeChart 创建基于web的图表
- [JSP]jfreechart+sql兑现时间曲线图
- jfreechart-1.0.13表格通过JSP页面来显示
- jfreechart 柱状图示范- 平面效果
- jfreechart 柱状图示范- 3D效果
- jfreechart 饼状图示范- 3D效果
- JFreeChart 汉语API
- SSH+JFreeChart,开启tomcat报错误,求大神赐教
- JfreeChart 如何设置百分比的小数位
- jFreeChart 在tomcat temp目录下生成的临时文件 怎么办啊
- jfreechart,jsp解决方法
- JFreeChart,
- JFreeChart 如何改变TIP
- jfreechart 时间轴(X轴)怎么自定义起止时间和间距