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

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

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

    waysun一路陽光

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

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

    /**
    *@author qingbao-gao
    *<p>Blog:http://www.cnweblog.com/nm1504</p>
    *<p>E-mail:yyk1504@163.com</p>
    *<p>創(chuàng)建時間: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           數(shù)據(jù)存儲數(shù)組
      * @param polyLineResult 柱狀圖要顯示的柱形
      * @param simuResult     柱狀圖要顯示的柱形
      * @param moveResult     柱狀圖要顯示的柱形
      * @param timeResult     柱狀圖要顯示的柱形
      * @author qingbao-gao
      * <p>Date:2008-01-03 PM 2:21</p>
      * @return               JFreeChart形式的對象供調(diào)用
      */

     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], "各月份數(shù)據(jù)", (String.valueOf(test[i][0])).substring(2, 7));
         //dataset.addValue(450, "各月份數(shù)據(jù)", "2月份");
         //dataset.addValue(550, "各月份數(shù)據(jù)", "3月份");
         //dataset.addValue(600, "各月份數(shù)據(jù)", "4月份");
            }
            EvalItemDataOperation ei=new EvalItemDataOperation();
            String nextMonth=ei.getNextMonth(String.valueOf(test[length-1][0]));
           dataset.addValue(simuResult, "神經(jīng)網(wǎng)絡(luò)預(yù)測", nextMonth);
           dataset.addValue(timeResult, "時間序列預(yù)測", nextMonth);
           dataset.addValue(moveResult, "移動加權(quán)平均", nextMonth);
           dataset.addValue(polyLineResult, "曲線擬合預(yù)測", nextMonth);
       
         JFreeChart chart = ChartFactory.createBarChart3D("時間序列柱狀圖-四種預(yù)測方法比較","預(yù)測顯示比較","實際客
    戶數(shù)與預(yù)測客戶數(shù)",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);

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

    }

    下面是JSP里調(diào)用上面的類實現(xiàn)圖片顯示的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>柱狀圖顯示結(jié)果</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一米陽光 閱讀(2043) 評論(2)  編輯  收藏 所屬分類: 總結(jié)備用

    評論

    # re: JfreeChar實現(xiàn)JSP頁面繪圖以及圖片顯示【原創(chuàng)】 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;



    這些包如何找到?  回復(fù)  更多評論
      

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

    主站蜘蛛池模板: 亚洲视频2020| 亚洲精品乱码久久久久久久久久久久| 久久精品亚洲中文字幕无码麻豆| 97人妻精品全国免费视频| 久久久亚洲精品蜜桃臀| 亚洲AV无码一区二区三区性色 | 亚洲日韩国产精品乱-久| 日本一卡精品视频免费| 久久久无码精品亚洲日韩蜜臀浪潮 | 亚洲丰满熟女一区二区v| 午夜理伦剧场免费| 亚洲午夜久久久精品影院| 久久免费观看国产精品88av| 亚洲男人都懂得羞羞网站| aⅴ在线免费观看| 亚洲av产在线精品亚洲第一站| 永久免费的网站在线观看| 亚洲天然素人无码专区| 国产猛烈高潮尖叫视频免费| 免费人成大片在线观看播放电影| 亚洲免费在线观看| 曰批全过程免费视频在线观看无码| 图图资源网亚洲综合网站| 亚洲精品免费网站| 日韩亚洲翔田千里在线| 国产亚洲情侣一区二区无| 日韩在线永久免费播放| 亚洲熟妇少妇任你躁在线观看| 国产免费久久精品久久久| 插鸡网站在线播放免费观看| 亚洲网站在线观看| 精品国产免费一区二区| eeuss影院免费直达入口| 亚洲欧洲日韩国产| 四虎影视在线影院在线观看免费视频| 精品亚洲成AV人在线观看| 日本免费人成黄页在线观看视频| 亚洲国产精品嫩草影院在线观看| 91免费国产自产地址入| 国产成人综合亚洲| 99久久亚洲精品无码毛片|