飛艷小屋

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

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

          WEB上如何使用JFREECHART簡述

          Posted on 2006-04-25 09:08 Kemi 閱讀(59) 評論(0) ?編輯?收藏收藏至365Key 所屬分類: Java
          在WEB圖形報表中如何使用jFreeChart
          在使用jFreeChart之前,我們先來了解產生圖形的流程和一些重要的類。
          jFreeChart最新的版本是jFreeChart-1.0.0-pre2(1),在相關的網站上都能下載到最新的版本
          下面提供了相關的鏈接地址:
          http://www.jfree.org/index.php
          http://www.jfree.org/jfreechart/javadoc/ (相關文檔的說明)
          常用到的報表圖有餅狀圖、柱狀圖、折線圖和時間圖等,根據不同的需要我們可以選擇不同的圖形來顯示。
          首先我們要知道怎么使用jFreeChart,其實很簡單就是在我們所建的工程中把它的Jar包導進來就可以了。
          那么jFreeChart中有哪些常用到的類和接口呢
          org.jfree.data.general.Dataset 所有數據源類都要實現的接口
          org.jfree.chart.ChartFactory 由它來產生 JFreeChart 對象(其中包括餅狀圖、柱狀圖等)
          org.jfree.chart.JFreeChart 它是個靜態類,要想生成圖形都要調用它(一般我們用的最多的是ChartFactory)。

          下面我們來介紹jFreeChart產生圖形的流程。
          首先我們要創建一個數據源(dataset)來顯示在圖形的數據,然后我們要創建一個jFreeChart的對象來顯示圖形界面,最后我們就可以輸出圖形了。


          有了上面的基本知識我們以餅狀圖為例子來做一個詳細的說明:
          一、創建數據源
          餅圖的dataset 一般是用PieDataset 接口,具體實現類是 DefaultPieDataset
          DefaultPieDataset defaultpiedataset = new DefaultPieDataset();
          defaultpiedataset.setValue(java.lang.Comparable key, double value);
          備注:第一個參數傳的是在圖形上面顯示數據的標題,第二個參數傳的是在圖形中所占比例的值,一般在實際的工程中這些數據從數據庫中提取的相關的值和數據,但是要注意的是要進行數據類型的轉換哦。這里給出我在做項目過程中的一段小代碼以供參考:
          Vector values = CustomerUtil.getFilterSub(year, month, where, status, filterFiledName);
          for (int i = 0; i < values.size(); i++) {
          SubFilterModel model = (SubFilterModel) values.get(i);
          dataset.setValue(model.getItemName(),newInteger(model.getValue()).doubleValue());
          }
          備注:把所查詢的結果集放到一個容器中如Vector、Hashtable等然后在頁面上直接循環賦值就可以了,這要看實際的情況來定。

          二、創建JFreeChart 對象
          產生圖形都要通過ChartFactory來提供,就餅狀圖而言,提供了createPieChart和
          createPieChart3D兩種方法來創建圖形。
          JFreeChart jfreechart = ChartFactory.createPieChart("我的銷售漏斗", //圖形標題名稱
          dataname, // 數據源
          true, // 是否顯示圖例一般為true,簡單的圖例false
          true, // 是否生成工具
          false); //是否生成URL鏈接

          有了圖形還不行,我們還要將圖形生成JPEG格式的圖片,還好了JFreeChart 給我們提供了是現的方法我們直接調用就可以了
          String filename=ChartUtilities.writeChartAsJPEG(java.io.OutputStream out,
          float quanlity, JFreeChart chart, int width, int height);
          其中參數包括:設置生成圖片,包括圖片的大小,長度,寬度等參數。
          我們得要一個輸出流,把生成的文件寫到指定的位置,當然了我們在讀取圖片的時候必須要獲得圖片的路徑。所以在輸出圖片的同時我們要想方設法把路徑存放下來。
          String URL=request.getContextPath()+"/servlet/DisplayChart?filename="+文件名稱;
          以上只是使用到的一些基礎的方法,別的圖形使用方法都是類似的我們可以參照它提供的API來生成不同的圖片。
          posted on 2006-08-21 15:13 天外飛仙 閱讀(1285) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 精河县| 舟山市| 新建县| 屯留县| 蕲春县| 天镇县| 江油市| 九寨沟县| 肥东县| 沙田区| 蓝山县| 兴隆县| 蒙山县| 德庆县| 永寿县| 南郑县| 柳林县| 客服| 堆龙德庆县| 新晃| 改则县| 綦江县| 获嘉县| 余姚市| 左权县| 宜黄县| 诏安县| 呼图壁县| 龙门县| 历史| 北流市| 青龙| 临武县| 浑源县| 河源市| 达州市| 同江市| 沭阳县| 高邮市| 宜州市| 文山县|