<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    飛艷小屋

    程序--人生--哲學___________________歡迎艷兒的加入

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      52 Posts :: 175 Stories :: 107 Comments :: 0 Trackbacks

    JFreeChart初學者入門實例詳細解析(轉載)

    作者 javasky @ 2005-04-21 21:33:41
    JFreeChart,開放源碼的Java圖表生成組件(基于LGPL Licence),可以創建餅圖、曲線圖、柱狀圖、甘特圖,生成PNG,JPG等圖片格式文件。當前最新版本為0.9.11,下面就是一張JFreeChart生成的統計圖。本文講解如何在Web利用JFreeChart生成餅狀統計圖。

    一、安裝配置

    當前最新版本為0.9.11

    下載jfreechart-0 .9.11.zip

    下載jfreechar t-0.9.11.tar.gz

    解壓縮文件,jfreechart-0.9.11目錄下的jfreechart-0.9.11.jar和 lib/jcommon-0.8.6.jar,lib/gnujaxp.jar都是開發運行需要的文件,把這三個文件放置到應用的lib目錄下。

    然后在web.xml文件中增加以下內容:

    <servlet>
    <servlet-name>DisplayChart</servlet-name>
    <servlet-class>org.jfree.chart.
    servlet.DisplayChart</servlet-class>
    </servlet>/PRE>
    /CENTER>



    安裝配置完成,現在可以寫程序生成我們需要的統計圖了。

    二、開始,在JSP中生成餅型統計圖

    <%@ page contentType=
    "text/html;charset=GBK"%>
    <%@ page import=
    "org.jfree.data.DefaultPieDataset"%>
    <%@ page import=
    "org.jfree.chart.JFreeChart"%>
    <%@ page import=
    "org.jfree.chart.plot.PiePlot"%>
    <%@ page import=
    "org.jfree.chart.
    ChartRenderingInfo"%>
    <%@ page import=
    "org.jfree.chart.servlet.
    ServletUtilities"%>
    <%@ page import=
    "org.jfree.chart.urls.
    StandardPieURLGenerator"%>
    <%@ page import=
    "org.jfree.chart.entity.
    StandardEntityCollection"%>
    <%
    
    DefaultPieDataset data 
    = new DefaultPieDataset();
    data.setValue("六月",500);
    data.setValue("七月",580);
    data.setValue("八月",828); 
    
    PiePlot plot = new PiePlot(data);
    
    JFreeChart chart = new JFreeChart
    ("",JFreeChart.DEFAULT_TITLE_FONT,
    plot, true);
    chart.setBackgroundPaint
    (java.awt.Color.white);
    //可選,設置圖片背景色
    chart.setTitle
    ("www.SenTom.net 網站訪問統計表");
    //可選,設置圖片標題
    ChartRenderingInfo info 
    = new ChartRenderingInfo
    (new StandardEntityCollection());
    //500是圖片長度,300是圖片高度
    String filename =
    ServletUtilities.saveChartAsPNG
    (chart, 500, 300, info, session);
    String graphURL =
    request.getContextPath() +
    "/servlet/DisplayChart?filename="
    + filename; 
    %>
    <HTML>
    <HEAD>
           <TITLE>www.sentom.net</TITLE>
    </HEAD>
    <BODY>
    <P ALIGN="CENTER">
    <ccid_file values="<%=" graphURL % />"
    width=500 height=300 border=0 
    usemap="#<%= filename 
    %>">
    </P>
    </BODY>
    </HTML>/PRE>
    /CENTER>



    就這么簡單,生成的餅狀圖如下


    三、JSP+JAVABEAN生成餅狀統計圖

    WebChart.java 
     
    /*
     * Created on 2003-9-9
     * http://www.sentom.net
     * To change the template 
     for this generated file go to
     * Window>Preferences>Java>Code
     Generation>Code and Comments
     */
    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;
    	}
    }/PRE>
    /CENTER>



    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.SenTom.net 網站訪問統計表",
    session, new 
    
    PrintWriter(out));
    String graphURL = 
    request.getContextPath() +
    "/servlet/DisplayChart?filename=" 
    + filename;
    
    %>
    <HTML>
    <HEAD>
    	<TITLE>www.sentom.net</TITLE>
    </HEAD>
    <BODY>
    <P ALIGN="CENTER">
    	<ccid_file values="<%=" graphURL % />
    	" width=500 height=300 
    	border=0 usemap="#<%= 
    
    filename %>">
    </P>
    </BODY>
    </HTML>/PRE>



    生成的餅狀圖如下

    四 參考資源

    http://sourceforge.net/projects/jfreechart

    http://www.jfree.org/jfreechart/index.html

    http://www.jfree.org/phpBB2/viewforum.php?f=3

    posted on 2006-08-21 14:52 天外飛仙 閱讀(349) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产成人免费网站在线观看| 午夜免费啪视频在线观看| 免费无码AV电影在线观看| 亚洲av日韩av无码黑人| 欧洲人成在线免费| 亚洲an天堂an在线观看| 免费播放在线日本感人片| 亚洲情综合五月天| 华人在线精品免费观看| 亚洲国产精品无码专区影院| 国产做国产爱免费视频| 亚洲av午夜成人片精品网站 | 亚洲自偷自偷偷色无码中文| 免费看黄福利app导航看一下黄色录像| www亚洲精品少妇裸乳一区二区| 免费国产污网站在线观看不要卡| 亚洲精品人成无码中文毛片| 一区二区三区免费精品视频| 亚洲国产高清在线| av无码久久久久不卡免费网站| 亚洲 欧洲 日韩 综合在线| 精品免费久久久久久成人影院| 天天影院成人免费观看| 亚洲人成网站18禁止久久影院| 全免费A级毛片免费看网站| 在线播放亚洲精品| 中文字幕亚洲图片| 一区二区三区四区免费视频| 亚洲视频在线观看2018| 国产又大又粗又硬又长免费 | 久久国产免费一区| 亚洲区精品久久一区二区三区| 免费黄色网址入口| 两个人日本WWW免费版| 亚洲综合亚洲国产尤物| 四虎在线免费播放| 国产精品视频全国免费观看| 免费乱理伦在线播放| 国产在线国偷精品免费看| 亚洲人成电影网站| 亚洲午夜无码片在线观看影院猛|