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

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

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

    飛艷小屋

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

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

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

    作者 javasky @ 2005-04-21 21:33:41
    JFreeChart,開(kāi)放源碼的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都是開(kāi)發(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)在可以寫(xiě)程序生成我們需要的統(tǒng)計(jì)圖了。

    二、開(kāi)始,在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)站訪問(wèn)統(tǒng)計(jì)表");
    //可選,設(shè)置圖片標(biāo)題
    ChartRenderingInfo info 
    = new ChartRenderingInfo
    (new StandardEntityCollection());
    //500是圖片長(zhǎng)度,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>



    就這么簡(jiǎn)單,生成的餅狀圖如下


    三、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是圖片長(zhǎng)度,
    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)站訪問(wèn)統(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 天外飛仙 閱讀(349) 評(píng)論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产精品1024永久免费视频| 少妇太爽了在线观看免费视频 | 免费大片在线观看网站| 青柠影视在线观看免费高清 | 青青青亚洲精品国产| 亚洲AV日韩AV天堂一区二区三区| 四虎成人免费观看在线网址 | 亚洲国产91精品无码专区| 最近中文字幕完整版免费高清| 思思久久99热免费精品6| 亚洲视频在线观看2018| 亚洲av日韩av无码| 亚洲人成人无码网www国产| 免费观看的av毛片的网站| 1000部拍拍拍18勿入免费视频下载 | 久久精品国产亚洲麻豆| 免费v片在线观看无遮挡| 午夜免费福利在线观看| 亚洲国产精品免费在线观看| 久久亚洲精品人成综合网| 久久久久久久亚洲精品| 亚洲大片免费观看| 99ee6热久久免费精品6| 18禁超污无遮挡无码免费网站 | 免费国产成人高清在线观看麻豆| 成年免费大片黄在线观看岛国 | 亚洲激情在线视频| 久久精品国产亚洲综合色| 久99精品视频在线观看婷亚洲片国产一区一级在线| 99久久免费精品国产72精品九九| 美丽的姑娘免费观看在线播放| 成人爽a毛片免费| 久草免费福利视频| 久久青青草原国产精品免费| 成在人线av无码免费高潮喷水| 久久九九免费高清视频| 中文字幕乱理片免费完整的| 国产一级高青免费| 国产免费拔擦拔擦8X高清在线人| 在线观看特色大片免费网站| 一级毛片免费观看不卡视频|