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

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

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

    飛艷小屋

    程序--人生--哲學(xué)___________________歡迎艷兒的加入

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

    JFreeChart初學(xué)者入門實(shí)例詳細(xì)解析(轉(zhuǎn)載)

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

    一、安裝配置

    當(dāng)前最新版本為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都是開發(fā)運(yùn)行需要的文件,把這三個(gè)文件放置到應(yīng)用的lib目錄下。

    然后在web.xml文件中增加以下內(nèi)容:

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



    安裝配置完成,現(xiàn)在可以寫程序生成我們需要的統(tǒng)計(jì)圖了。

    二、開始,在JSP中生成餅型統(tǒng)計(jì)圖

    <%@ 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);
    //可選,設(shè)置圖片背景色
    chart.setTitle
    ("www.SenTom.net 網(wǎng)站訪問統(tǒng)計(jì)表");
    //可選,設(shè)置圖片標(biāo)題
    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生成餅狀統(tǒng)計(jì)圖

    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
    		{
    //創(chuàng)建chart對(duì)象
    PiePlot plot =
    new PiePlot(data);
    plot.setInsets
    (new Insets(0, 5, 5, 5));
    //在統(tǒng)計(jì)圖片上建連結(jié)
    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);
    //設(shè)置圖片的背景色
    Font font = new Font
    ("黑體",Font.CENTER_BASELINE,20);
    //設(shè)置圖片標(biāo)題的字體和大小
    TextTitle _title =
    new TextTitle(title);
    _title.setFont(font);
    chart.setTitle(_title);
    //把生成的圖片放到臨時(shí)目錄
    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 網(wǎng)站訪問統(tǒng)計(jì)表",
    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 天外飛仙 閱讀(352) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲人和日本人jizz| 亚洲av无码一区二区三区天堂古代| 国产成人亚洲综合在线| 18禁无遮挡无码网站免费| 色偷偷女男人的天堂亚洲网| 野花高清在线电影观看免费视频| 亚洲中文无码线在线观看| 成年人视频免费在线观看| 亚洲国产一区在线观看| 最近最新MV在线观看免费高清| 亚洲一区欧洲一区| 日韩精品视频免费观看| 香蕉视频在线观看免费| 亚洲综合av永久无码精品一区二区| a毛片免费播放全部完整| 午夜亚洲www湿好大| 2019中文字幕在线电影免费| 亚洲不卡中文字幕| 日韩免费无砖专区2020狼| 免费国产黄网站在线观看动图| 国产综合精品久久亚洲| 日日麻批免费40分钟无码| 亚洲欧洲精品视频在线观看| 性xxxx视频播放免费| 深夜A级毛片视频免费| 亚洲国产AV无码专区亚洲AV| 久久精品免费一区二区| 亚洲欧美日韩中文字幕一区二区三区 | 国产又粗又猛又爽又黄的免费视频| 水蜜桃视频在线观看免费| 亚洲精品成人片在线播放| 最近免费视频中文字幕大全| 亚洲精品成a人在线观看夫| 亚洲日韩在线第一页| 热re99久久6国产精品免费| 亚洲日本VA午夜在线电影| 亚洲无线码一区二区三区| 国产99视频精品免费观看7| 人人公开免费超级碰碰碰视频| 99久久精品国产亚洲| 国产一级做a爱免费视频|