<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 国产精品99精品久久免费| 精品无码专区亚洲| 久久国产乱子伦精品免费午夜 | 亚洲国产精品福利片在线观看| 亚洲午夜福利在线视频| 6080午夜一级毛片免费看| 亚洲综合色自拍一区| 亚洲欧美日韩综合久久久| 91久久精品国产免费直播| 久久精品国产精品亚洲艾| 成人无码a级毛片免费| 久久精品亚洲乱码伦伦中文| 亚洲精品午夜国产VA久久成人| 亚洲乱妇熟女爽到高潮的片| 1000部啪啪未满十八勿入免费| 亚洲久本草在线中文字幕| 小日子的在线观看免费| 亚洲AV无码国产在丝袜线观看| 三级毛片在线免费观看| 亚洲AV无码乱码在线观看富二代| 中美日韩在线网免费毛片视频| 亚洲国产av无码精品| 婷婷亚洲综合一区二区| 国产不卡免费视频| 免费人成视频在线播放| 亚洲视频在线免费| 三年片免费观看大全国语| 国产亚洲综合成人91精品| 久久免费的精品国产V∧| 久久水蜜桃亚洲av无码精品麻豆| 在线人成精品免费视频| 亚洲综合校园春色| 国产做床爱无遮挡免费视频| 日本一区二区在线免费观看 | 丝袜捆绑调教视频免费区| 亚洲综合图色40p| 免费高清国产视频| 亚洲经典在线中文字幕| AV大片在线无码永久免费| 国产精品日本亚洲777| 亚洲性日韩精品一区二区三区|