隨筆-57  評論-202  文章-17  trackbacks-0
                這個范例說明如何用JFreeChart畫簡單的柱狀圖,下面是一個JSP的簡單范例:

          <%@ page contentType="text/html; charset=GB2312" %>
          <%@ page import="java.awt.*, java.text.*, java.util.*" %>
          <%@ page import="org.jfree.chart.*" %>
          <%@ page import="org.jfree.chart.axis.*" %>
          <%@ page import="org.jfree.chart.labels.StandardCategoryItemLabelGenerator" %>
          <%@ page import="org.jfree.chart.plot.*" %>
          <%@ page import="org.jfree.chart.renderer.*" %>
          <%@ page import="org.jfree.chart.servlet.ServletUtilities" %>
          <%@ page import="org.jfree.data.DefaultCategoryDataset" %>
          <%@ page import="org.jfree.ui.TextAnchor" %>

          <%
            
          //The data for the bar chart
            double[] data = {85156179.5211123};
            
          //The labels for the bar chart
            String[] labels = {"Mon""Tue""Wed""Thu""Fri"};
            
            DefaultCategoryDataset dataset 
          = new DefaultCategoryDataset();
            
          for (int i = 0; i < data.length; i++{
              dataset.addValue(data[i], 
          null, labels[i]);
            }

            
            JFreeChart chart 
          = ChartFactory.createBarChart3D("Weekly Server Load""Work Week 25""MBytes", dataset, PlotOrientation.VERTICAL, falsefalsefalse);
            chart.setBackgroundPaint(
          new Color(0xE1E1E1));
            
            CategoryPlot plot 
          = chart.getCategoryPlot();
            
            
          // 設置Y軸顯示整數
            NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
            rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
            
            CategoryAxis domainAxis 
          = plot.getDomainAxis();
            
          //設置距離圖片左端距離
            domainAxis.setLowerMargin(0.05);
            
            BarRenderer3D renderer 
          = new BarRenderer3D();
            
          //設置柱的顏色
            renderer.setSeriesPaint(0new Color(0xff00));
            plot.setRenderer(renderer);
            
            String filename 
          = ServletUtilities.saveChartAsPNG(chart, 300280null, session);
            String graphURL 
          = request.getContextPath() + "/displayChart?filename=" + filename;
          %>
          <html>
          <body topmargin="5" leftmargin="5" rightmargin="0">
          <div style="font-size:18pt; font-family:verdana; font-weight:bold">
              3D Bar Chart
          </div>
          <br>
          <img src="<%= graphURL %>" border=0>
          </body>
          </html>


                畫出來的圖:

          displayChart.JPG

                和ChartDirector畫出來的圖做一個比較:

          threedbar.JPG

          posted on 2005-06-14 18:40 小米 閱讀(10701) 評論(7)  編輯  收藏 所屬分類: Java

          評論:
          # re: 用JFreeChart畫柱狀圖的范例 2005-12-05 16:43 | 郭柯
          <%@ page import="org.jfree.ui.TextAnchor" %>
          這個包找不到阿
          plot.setRenderer(renderer);這個方法也報錯
          斑竹給講解以下吧,寫了
          現在著急作報表
          不會阿
          郁悶死了
            回復  更多評論
            
          # re: 用JFreeChart畫柱狀圖的范例 2007-01-30 14:08 | flysky
          謝謝樓主
          正在寫JFreeChart與ChartDirector的比較,謝謝你的好文章  回復  更多評論
            
          # re: 用JFreeChart畫柱狀圖的范例 2007-03-16 10:36 | wang
          有這個異常
          java.lang.IllegalArgumentException: Null 'key' argument.

            回復  更多評論
            
          # re: 用JFreeChart畫柱狀圖的范例 2007-04-17 17:06 | pyrgz
          有這個異常
          java.lang.IllegalArgumentException: Null 'key' argument.
            回復  更多評論
            
          # re: 用JFreeChart畫柱狀圖的范例 2007-04-20 14:24 | MrBao
          for (int i = 0; i < data.length; i++) {
          dataset.addValue(data[i], null, labels[i]);//這句改null 為 ""
          }
            回復  更多評論
            
          # re: 用JFreeChart畫柱狀圖的范例[未登錄] 2008-10-23 16:47 | navy
          ACTION中怎么寫的?  回復  更多評論
            
          # re: 用JFreeChart畫柱狀圖的范例[未登錄] 2009-05-04 13:35 | cheng
          怎樣可以讓圖表顯示中文(比如你那里的Mon,Tue,Wed...)  回復  更多評論
            
          主站蜘蛛池模板: 阿坝| 六安市| 长阳| 平泉县| 柯坪县| 德令哈市| 呈贡县| 苗栗县| 清镇市| 阳高县| 台州市| 长沙县| 中牟县| 三穗县| 永登县| 彭阳县| 香港 | 霍州市| 砚山县| 榆社县| 南皮县| 巴彦淖尔市| 汾阳市| 息烽县| 崇明县| 灵台县| 民权县| 江阴市| 色达县| 泰和县| 视频| 阳新县| 西贡区| 建宁县| 商南县| 二连浩特市| 常山县| 湖南省| 临邑县| 枣阳市| 宁陵县|