<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    waysun一路陽光

    不輕易服輸,不輕言放棄.--心是夢的舞臺,心有多大,舞臺有多大。踏踏實實做事,認認真真做人。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      167 隨筆 :: 1 文章 :: 64 評論 :: 0 Trackbacks
    因為我所在的項目需要用到動態生成顯示圖片,于是研究了一點,先把源代碼以及完整的例子貼出來。
    (1)畫柱狀圖
    JAVA源代碼:

    /**
    *@author qingbao-gao
    *<p>Blog:http://www.cnweblog.com/nm1504</p>
    *<p>E-mail:yyk1504@163.com</p>
    *<p>創建時間:2008-1-3</p>
    *<p>Copyright: XXxxxXX (c)2008-1-3</p>
    */
    package com.mfsoft.net.jfreemap;

    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.plot.PlotOrientation;
    import org.jfree.data.category.DefaultCategoryDataset;

    import java.awt.Color;
    import org.jfree.chart.renderer.category.BarRenderer3D;
    import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
    import org.jfree.chart.axis.CategoryAxis;
    import org.jfree.chart.plot.CategoryPlot;

    import com.mfsoft.credit.modelmang.operation.EvalItemDataOperation;
    import com.mfsoft.credit.modelmang.operation.ModelDataTypeOperation;
    import com.mfsoft.net.pre.MoveWeightAverage;
    import com.mfsoft.net.pre.TimeSeriesForecast;

    public class DisplayMap
    {
     public DisplayMap()
     {
      
     }
     /**
      * <P>獲得圖形</P>
      * @param test           數據存儲數組
      * @param polyLineResult 柱狀圖要顯示的柱形
      * @param simuResult     柱狀圖要顯示的柱形
      * @param moveResult     柱狀圖要顯示的柱形
      * @param timeResult     柱狀圖要顯示的柱形
      * @author qingbao-gao
      * <p>Date:2008-01-03 PM 2:21</p>
      * @return               JFreeChart形式的對象供調用
      */

     public static JFreeChart displayResult(double[][]test,int polyLineResult,int simuResult,int moveResult,int timeResult)
     {
      int length=test.length;
        DefaultCategoryDataset dataset    = new DefaultCategoryDataset();
        //double [][]test=mdt.getMonthData("200609","200708","1100000000023","R");
        /*
          double[][]test=new double[][]{
            {200606 ,63534},
            {200607 ,64624},
            {200608 ,64947},
            {200609 ,64996},
            {200610 ,65201},
            {200611 ,65318},
            {200612 ,65800},
            {200701 ,66126},
            {200702 ,66238},
            {200703 ,66553},
            {200704 ,66790},
            {200705 ,67125},
            {200706 ,67461},
            {200707 ,67833},
            {200708 ,68064},
            {200709 ,68329},
             };*/
           //int taps=4;
            for(int i=0;i<test.length-1;i++)
            {
         dataset.addValue(test[i][1], "各月份數據", (String.valueOf(test[i][0])).substring(2, 7));
         //dataset.addValue(450, "各月份數據", "2月份");
         //dataset.addValue(550, "各月份數據", "3月份");
         //dataset.addValue(600, "各月份數據", "4月份");
            }
            EvalItemDataOperation ei=new EvalItemDataOperation();
            String nextMonth=ei.getNextMonth(String.valueOf(test[length-1][0]));
           dataset.addValue(simuResult, "神經網絡預測", nextMonth);
           dataset.addValue(timeResult, "時間序列預測", nextMonth);
           dataset.addValue(moveResult, "移動加權平均", nextMonth);
           dataset.addValue(polyLineResult, "曲線擬合預測", nextMonth);
       
         JFreeChart chart = ChartFactory.createBarChart3D("時間序列柱狀圖-四種預測方法比較","預測顯示比較","實際客
    戶數與預測客戶數",dataset,PlotOrientation.VERTICAL,true,false,false);
        chart.setBackgroundPaint(Color.WHITE);
        CategoryPlot catePlot = chart.getCategoryPlot();

        CategoryAxis domainAxis = catePlot.getDomainAxis();
              //domainAxis.setVerticalCategoryLabels(false);
        catePlot.setDomainAxis(domainAxis);

              BarRenderer3D renderer = new BarRenderer3D();
              renderer.setBaseOutlinePaint(Color.BLACK);

              //設置每個地區所包含的平行柱的之間距離
              renderer.setItemMargin(0.1);
              //顯示每個柱的數值,并修改該數值的字體屬性
              renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
              renderer.setItemLabelsVisible(true);
              catePlot.setRenderer(renderer);
              //設置柱的透明度
              catePlot.setForegroundAlpha(0.8f);
              return chart;
     }

    }

    下面是JSP里調用上面的類實現圖片顯示的JSP文件
    <%@page contentType="text/html; charset=GB2312"%>
    <%@page import="org.jfree.chart.ChartUtilities"%>
    <%@page import="org.jfree.chart.JFreeChart"%>
    <%@page import="com.mfsoft.net.jfreemap.DisplayMap" %>
    <%@page contentType="text/html; charset=GB2312"%>
    <%@page import="com.mfsoft.credit.modelmang.operation.EvalItemDataOperation" %>
    <%@page import="com.mfsoft.net.jfreemap.*" %>
    <%@page import="com.mfsoft.credit.modelmang.operation.ModelDataTypeOperation" %>

    <html>
    <head>
    <title>柱狀圖顯示結果</title>
    </head>
    <body>
    <%

     String timeType=(String)request.getParameter("timeType");
     String areaid=(String)request.getParameter("areaid");
     String areaType=(String)request.getParameter("areaType");
     String endTime=EvalItemDataOperation.getEndYearsToday();
     String startTime=EvalItemDataOperation.getNYearsToday(endTime,1);
     int lineScore=55000;
     int nnetScore=45632;
     int timeScore=50000;
     int moveWeightScore=60000;
     nnetScore=Integer.valueOf((String)request.getParameter("nnetScore"));
     lineScore=Integer.valueOf((String)request.getParameter("lineScore"));
     timeScore=Integer.valueOf((String)request.getParameter("timeScore"));
     moveWeightScore=Integer.valueOf((String)request.getParameter("moveWeightScore"));
        MoveWeightLineMap mp=new MoveWeightLineMap();
        double[][]st={{}};
        if(timeType!=null&&areaid!=null&&areaType!=null)
        {
            if(timeType.equals("0"))
            {
                st=ModelDataTypeOperation.getMonthData(startTime,endTime,areaid,areaType);
            }
            else
            if(timeType.equals("1"))
            {
                st=ModelDataTypeOperation.getThirdYearData(startTime,endTime,areaid,areaType);
            }
            else
            if(timeType.equals("2"))
            {
                st=ModelDataTypeOperation.getHalfYearData(startTime,endTime,areaid,areaType);
            }
            else
            {
                st=ModelDataTypeOperation.getYearData(startTime,endTime,areaid,areaType);
            }
         DisplayMap dm=new DisplayMap();
         JFreeChart chart=dm.displayResult(st,lineScore, nnetScore, moveWeightScore, timeScore);
         ChartUtilities.writeChartAsJPEG(response.getOutputStream(),chart,1000,600);
        }
        else
        {
             out.print("傳遞過來的值為空,不能顯示柱狀圖");
        }
    %>
    </body>
    </html>

    posted on 2008-06-20 08:52 weesun一米陽光 閱讀(2039) 評論(2)  編輯  收藏 所屬分類: 總結備用

    評論

    # re: JfreeChar實現JSP頁面繪圖以及圖片顯示【原創】 2012-10-15 21:51 卞曉晨
    import com.mfsoft.credit.modelmang.operation.EvalItemDataOperation;
    import com.mfsoft.credit.modelmang.operation.ModelDataTypeOperation;
    import com.mfsoft.net.pre.MoveWeightAverage;
    import com.mfsoft.net.pre.TimeSeriesForecast;



    這些包如何找到?  回復  更多評論
      

    # re: JfreeChar實現JSP頁面繪圖以及圖片顯示【原創】 2012-10-16 09:41 waysun
    自定義的類@卞曉晨
      回復  更多評論
      

    主站蜘蛛池模板: 青青草原精品国产亚洲av| 免费一级不卡毛片| 亚洲人色大成年网站在线观看| 免费v片在线观看品善网| 无码人妻精品中文字幕免费东京热| 产传媒61国产免费| 亚洲丁香婷婷综合久久| 亚洲精品美女在线观看| 亚洲精品成人无限看| 国产精品成人无码免费| 色se01短视频永久免费| 8888四色奇米在线观看免费看| h在线看免费视频网站男男| 亚洲av日韩综合一区二区三区| 亚洲二区在线视频| 亚洲狠狠狠一区二区三区| 亚洲AV美女一区二区三区| 亚洲一区精品无码| 久久亚洲国产精品123区| 亚洲人AV永久一区二区三区久久| 日韩精品视频免费网址| 嫩草影院免费观看| 日韩欧美一区二区三区免费观看 | 日韩a级毛片免费视频| 一级女人18毛片免费| 亚洲视频在线免费看| 99在线视频免费| 亚洲电影免费在线观看| 久久久久免费看黄a级试看| 日韩av无码免费播放| 在线观看免费黄色网址| 一个人免费视频在线观看www| 成人片黄网站色大片免费观看cn | 免费无遮挡无码视频网站| 欧美大尺寸SUV免费| 国产美女在线精品免费观看| 一个人免费观看在线视频www| 成人免费午夜在线观看| 女人18毛片a级毛片免费视频| 免费观看a级毛片| 四虎1515hm免费国产|