一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

jsp JFreeChart生成数据图饼实现代码

时间:2011-11-23 编辑:简简单单 来源:一聚教程网

 代码如下 复制代码

 
WebChart.java    

package net.sentom.chart;
       
        import java.awt.Insets;
        import java.awt.Font;
        import java.io.PrintWriter;
        import javax.servlet.http.HttpSession;
        import org.jfree.data.*;
        import org.jfree.chart.*;
        import org.jfree.chart.plot.*;
        import org.jfree.chart.entity.*;
        import org.jfree.chart.urls.*;
        import org.jfree.chart.servlet.*;
        import org.jfree.chart.labels.StandardPieToolTipGenerator;
       
        /**
        * @author sentom
        *
        * To change the template for this generated type comment go to
        * Window>Preferences>Java>Code Generation>Code and Comments
        */
        public class WebChart {
        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) {
            String filename = null;
            try {
             //创建chart对象
             PiePlot plot = new PiePlot(data);
             plot.setInsets(new Insets(0, 5, 5, 5));
             //在统计图片上建连结
             plot.setURLGenerator(new StandardPieURLGenerator("link.jsp","section"));
             plot.setToolTipGenerator(new StandardPieToolTipGenerator());
             JFreeChart chart = new JFreeChart("", JFreeChart.DEFAULT_TITLE_FONT,
       
        plot, true);
            
             chart.setBackgroundPaint(java.awt.Color.white);//设置图片的背景色
            
             Font font = new Font("黑体",Font.CENTER_BASELINE,20);//设置图片标题的字体
       
        和大小
             TextTitle _title = new TextTitle(title);
             _title.setFont(font);
             chart.setTitle(_title);
       
             //把生成的图片放到临时目录
             ChartRenderingInfo info = new ChartRenderingInfo(new
       
        StandardEntityCollection());
             //500是图片长度,300是图片高度
             filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, 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;
        }
        }
        

 JSP文件

 
        <%@ page contentType="text/html;charset=GBK"%>
        <%@ page import = "java.io.PrintWriter" %>
        <%@ page import="net.sentom.chart.WebChart"%>
        <%
       
        WebChart chart = new WebChart();
        chart.setValue("六月",500);
        chart.setValue("七月",580);
        chart.setValue("八月",828);
       
        String filename = chart.generatePieChart("www.111com.net 网站访问统计表", session, new
       
        PrintWriter(out));
        String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
       
        %>
       
       
        www.sentom.net
       
       
       


       
       


       
       

当前最新版本为0.9.11,右边是一张JFreeChart生成 的统计图。本文讲解如何在Web利用JFreeChart生成饼状统计图。


http://heanet.dl.sourceforge.net/sourceforge/jfreechart/jfreechart-0.9.11.zip
http://heanet.dl.sourceforge.net/sourceforge/jfreechart/jfreechart-0.9.11.tar.gz

热门栏目