隨筆-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...)  回復  更多評論
            
          主站蜘蛛池模板: 来凤县| 两当县| 新河县| 苏尼特右旗| 龙州县| 介休市| 吉安县| 获嘉县| 扎赉特旗| 宁阳县| 黎平县| 斗六市| 武定县| 宣汉县| 宝兴县| 胶南市| 二连浩特市| 杭锦旗| 泊头市| 南涧| 赤城县| 剑川县| 东山县| 吴忠市| 安仁县| 定襄县| 贺州市| 繁峙县| 奉新县| 工布江达县| 东至县| 湛江市| 秦皇岛市| 连云港市| 台北县| 香河县| 苗栗县| 曲沃县| 嘉义县| 前郭尔| 中阳县|