<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午夜福利精品一区二区| 久久免费国产视频| 亚洲色中文字幕在线播放| 亚洲天堂在线视频| 99在线精品免费视频九九视| 黄网站在线播放视频免费观看| 亚洲五月六月丁香激情| 免费看美女被靠到爽| 日本免费中文字幕| 久久亚洲AV成人无码国产电影 | a级毛片免费高清毛片视频| 亚洲国产av一区二区三区丶| 免费在线观看黄网站| 69视频在线是免费观看| 九九综合VA免费看| 亚洲情A成黄在线观看动漫软件| 国产偷窥女洗浴在线观看亚洲| 午夜免费1000部| 毛片基地看看成人免费| 亚洲中文字幕乱码AV波多JI| 亚洲AV中文无码乱人伦下载| 在线a毛片免费视频观看| 性无码免费一区二区三区在线| 国产亚洲精品免费| 亚洲专区中文字幕| 亚洲国产精品无码久久久不卡 | 亚洲国产精品免费视频| 亚洲福利中文字幕在线网址| 国产h肉在线视频免费观看| 搡女人免费免费视频观看| 久久精品国产亚洲AV天海翼| 亚洲国产精品无码久久久| 亚洲国产精品无码AAA片| 亚洲视频在线一区二区| 日韩成全视频观看免费观看高清| 5555在线播放免费播放| 九九精品成人免费国产片| yy一级毛片免费视频| 日本系列1页亚洲系列|