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") %>">
          這種方式會生成臨時圖片文件,默認(rèn)是不對其進(jìn)行清理的,所以要手工進(jìn)行處理
          對于臨時文件的清除,jfreechart提供了一個實現(xiàn)了HttpSessionBindingListener的類ChartDeleter,
          里面有個valueUnbound方法,這個方法是在session執(zhí)行remove的時候被自動執(zhí)行,
          所以我們只需要在頁面剛進(jìn)入的時候調(diào)用
          session.removeAttribute("JFreeChart_Deleter");
          這樣會刪除當(dāng)前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)簡單的折線圖、柱狀圖[未登錄]  回復(fù)  更多評論   

          2014-03-20 14:07 by s
          sdsafsd的施工的風(fēng)格吧

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

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

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

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

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

          2014-09-25 19:04 by 等待
          2222
          主站蜘蛛池模板: 原平市| 思南县| 望城县| 沈丘县| 仁寿县| 高尔夫| 赣榆县| 兰考县| 天全县| 丰台区| 靖江市| 友谊县| 奉化市| 绥化市| 维西| 夏河县| 拉萨市| 东安县| 永和县| 香港 | 奉贤区| 革吉县| 揭阳市| 东明县| 新巴尔虎左旗| 延津县| 浑源县| 宜城市| 清水河县| 沅陵县| 陈巴尔虎旗| 丰顺县| 化隆| 海伦市| 蕲春县| 山丹县| 大荔县| 兰坪| 玛曲县| 贺兰县| 西贡区|