(轉)JFreeChart 中文手冊

來源:互聯網
上載者:User

  (轉)JFreeChart 中文手冊 2009-09-06 11:31

 

轉自:http://guoyiqi.javaeye.com/blog/247661

一、簡介

JFreeChart是JFreeChart公司在開源網站SourceForge.net上的一個項目,是一種Java圖形解決方案(Application/Applet/Servlet/Jsp)。

二、安裝配置

當前最新版本是jfreechart-1.0.3 ,應下載的包:

jfreechart-1.0.3.zip(項目包)

jfreechart-1.0.3-javadocs.zip(API參考文檔)

1、 首先解壓jfreechart-1.0.3.zip,並關注三個檔案:

jfreechart-1.0.3.jar、 jcommon-1.0.6.jar、gnujaxp.jar(這個包就不導進去了,可能導致警告)

2、 接著把前述三個檔案分別考到:

%JAVA_HOME%/LIB及相應項目的/WEB-INF/LIB

3、 配置環境變數CLASSPATH

4、 在/WEB-INF/web.xml檔案中加入

<servlet>
                     <servlet-name>DisplayChart</servlet-name>
                     <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
        </servlet>
        <servlet-mapping>
                     <servlet-name>DisplayChart</servlet-name>
                     <url-pattern>/servlet/DisplayChart</url-pattern>
        </servlet-mapping>

三、功能介紹

pie charts (2D and 3D):餅圖(平面和立體)
     bar charts (regular and stacked, with an optional 3D effect):柱狀圖
     line and area charts:曲線圖

time series, high/low/open/close charts and candle stick charts:時序圖

圖形可以匯出成PNG和JPEG格式

四、現已封裝的模式有

二維矩狀圖 三維矩狀圖 二維餅狀圖 三維餅狀圖 線狀順序圖表 時間順序圖表

五、實現圖表產生步驟

1、             Dataset對象的建立產生

2、             JFreeChart對象的建立產生

3、             URLGenerator的控制產生

六、原理

將產生的JFreeChart對象,以流的形式產生用PNG格式或JPEG格式系統臨時檔案,然後就可以被訪問請求。

七、在實現圖表產生中可能用到的介面與類

org.jfree.chart.JFreeChart:圖表對象類

org.jfree.data.category.XXXDataSet:資料集對象類

org.jfree.chart.plot.XXXPlot圖表區域對象類

org.jfree.chart.axis.XXXAxis:軸對象類

org.jfree.chart.render.XXXRender:修飾刷對象類

可參考(API參考文檔)

八、執行個體

1、              擷取資料集的方式:

1)              以JDBC方式,通過訪問封裝類CreateDataSetFromJdbc.java

readPieData(String sql)方法獲得餅圖資料集

readCategoryData(String sql) 獲得矩圖資料集

readXYData(String sql) 獲得序列表資料集

主要寫好相應的sql語句

2)              通過自已的方式獲得資料,然後資料集的

setValue(Comparable key, Number value)

setValue(Number value, Comparable rowKey, Comparable columnKey)

2              繼承基類BaseChartURLGenerator裡的方法及實現介面ControlURLGenerator。(仿照已有的模式)針對web應用

其中會用到封裝的方法類ChartPlotRender、CreateChart、LabelGenerator

九、建議

為每一個應用jfreechart圖表的模組寫一SubChartURLGenerator類(繼承自BaseChartURLGenerator)

十、詳細情況可以仿照工作量圖表處理

十一、       詳細設計流程

(1)      擷取資料集dataset

判斷資料擷取是用sql語句組裝方便些,還是自己通過其它方式擷取,再放到dataset方便些。

如果是前者,可能只需要寫好sql,再調用封裝好的CreateDataSetFromJdbc就可以獲得資料集,這個當然是針對應用資料簡單的。

如果是後者,就需要你自己仿照我在質安站工作量查詢中的圖表處理例子獲得相應的dataset,先通過原來自己的方式獲得資料,然後寫好一個類方法,把傳過的資料一個一個的set到資料集中。

(2)      獲得圖表對象jfreechart

寫好一個方法,針對不同的類型的圖表,使用封裝好的CreateChart類及上步所獲得的資料集dataset,產生相應圖表。並為圖表配入title,citatory,value參數。

(3)      圖表對象表現形式

對於web頁中引用,則可以考慮建立一個繼承自封裝的BaseChartURLGenerator類的子類(可以考慮有前兩步的方法放到此類中),針對其具體控制,實現介面ControlURLGenerator寫好一個控制方法,並引用上步的jfreechart對象,調用已有的方法setChartURL(request, chart);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.