Ordinary hut

          人間一福地,勝似天仙宮
          posts - 61, comments - 50, trackbacks - 0, articles - 1
          創(chuàng)建柱狀圖
          1 引入jFreechart的包
          jcommon-1.0.15.jar
          jfreechart-1.0.12.jar
          jfreechart-1.0.12-experimental.jar

          2 在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>

          3 在jsp或者servlet或者action中寫
               // 創(chuàng)建一個柱狀圖
              DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
              
          // 數(shù)據(jù)裝入
              for(int i=0;i<list.size();i++)
              {
              
              Item item =(Item)list.get(i);
              
              dataSet.setValue(Item.getRating(), "testName", Item.getTime());
              }
              JFreeChart chart 
          = ChartFactory.createBarChart("統(tǒng)計圖","ratings""time", dataSet, PlotOrientation.VERTICAL,falsetruefalse);
              
          try{
              
              String filename = ServletUtilities.saveChartAsPNG(chart, 500300null, session);
              
              String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
              
              request.setAttribute("graphURL",graphURL);

             
          catch (Exception e){
              }


          4 在頁面引入
              <img src="<%= request.getAttribute("graphURL") %>">
          這種方式會生成臨時圖片文件,默認是不對其進行清理的,所以要手工進行處理
          對于臨時文件的清除,jfreechart提供了一個實現(xiàn)了HttpSessionBindingListener的類ChartDeleter,
          里面有個valueUnbound方法,這個方法是在session執(zhí)行remove的時候被自動執(zhí)行,
          所以我們只需要在頁面剛進入的時候調用
          session.removeAttribute("JFreeChart_Deleter");
          這樣會刪除當前session之前生成的圖表。

          還有一種方法是用流輸出的方式,直接,即:
          注釋掉上面的try中的代碼,加入如下代碼
          ChartUtilities.writeChartAsJPEG(response.getOutputStream(),chart,500,300);

          然后在顯示頁面引入該jsp或者servlet
              <img src="<%=request.getContextPath()%>/servlet">

          簡單的折線圖就是把createBarChart方法換成createLineChart方法,高級特性請參見JFreeChart的文檔

          Feedback

          # re: jFreeChart 在jsp頁上實現(xiàn)簡單的折線圖、柱狀圖[未登錄]  回復  更多評論   

          2014-03-20 14:07 by s
          sdsafsd的施工的風格吧

          # re: jFreeChart 在jsp頁上實現(xiàn)簡單的折線圖、柱狀圖[未登錄]  回復  更多評論   

          2014-03-20 14:07 by s
          是的更符合規(guī)范

          # re: jFreeChart 在jsp頁上實現(xiàn)簡單的折線圖、柱狀圖[未登錄]  回復  更多評論   

          2014-09-25 19:04 by 等待
          灌灌灌灌灌

          # re: jFreeChart 在jsp頁上實現(xiàn)簡單的折線圖、柱狀圖[未登錄]  回復  更多評論   

          2014-09-25 19:04 by 等待
          2222
          主站蜘蛛池模板: 积石山| 北辰区| 吴川市| 密云县| 获嘉县| 安吉县| 金坛市| 汾西县| 青河县| 莱阳市| 景德镇市| 肇州县| 蛟河市| 洛宁县| 三门县| 甘谷县| 利辛县| 巴彦淖尔市| 开封市| 丁青县| 秦安县| 称多县| 云龙县| 林甸县| 嘉义市| 若羌县| 特克斯县| 时尚| 南开区| 常德市| 长岛县| 读书| 扎囊县| 石楼县| 仪陇县| 盘锦市| 都江堰市| 成都市| 昌乐县| 连城县| 南部县|