基於highcharts+easui+java生成時趨圖

前言:上一章以及詳細介紹了highcharts的用法步驟以及官網教程,這裏我就直接說生成時趨圖的方法了。(不瞭解的可以去看我的上一篇文章)

一、效果展示

二,前臺js代碼

註明:每個人要展示的數據不一樣我這裏是以我的爲例

官網demo以及代碼

Highcharts.chart('container', {
    chart: {
        type: 'spline'
    },
    title: {
        text: 'Monthly Average Temperature'
    },
    subtitle: {
        text: 'Source: WorldClimate.com'
    },
    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
            'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },
    yAxis: {
        title: {
            text: 'Temperature'
        },
        labels: {
            formatter: function () {
                return this.value + '°';
            }
        }
    },
    tooltip: {
        crosshairs: true,
        shared: true
    },
    plotOptions: {
        spline: {
            marker: {
                radius: 4,
                lineColor: '#666666',
                lineWidth: 1
            }
        }
    },
    series: [{
        name: 'Tokyo',
        marker: {
            symbol: 'square'
        },
        data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, {
            y: 26.5,
            marker: {
                symbol: 'url(https://www.highcharts.com/samples/graphics/sun.png)'
            }
        }, 23.3, 18.3, 13.9, 9.6]

    }, {
        name: 'London',
        marker: {
            symbol: 'diamond'
        },
        data: [{
            y: 3.9,
            marker: {
                symbol: 'url(https://www.highcharts.com/samples/graphics/snow.png)'
            }
        }, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
    }]
});

我的jsd其實對應的只需要改data就可以了

 

裏面放空,然後用ajax請求來獲得數據

下面是我的請求:(每個人需要的數據都不一樣)

  function getJson(){
            var date=new Date;
            var year=date.getFullYear(); 
            var data1 = [];
            var i ;
            var params = {"nowYear":year};
            $.ajax({
                type : "POST", // 提交方式
                url : servicefulPath + '/irregularBagReportTotal/trendChart',
                data : params,
                success : function(result) {
                // 對json進行升序排序函數
                var json = result.data;
                for ( var key in json) {
                //通過遍歷對象屬性的方法,遍歷鍵值對,獲得key,然後通過 對象[key]獲得對應的值
                var name = key;
                var value = json[key];
                console.log(value);
                if (json.hasOwnProperty(key)) {
                    data1.push([ json[key] ]);
                }
                }
                    chart1.series[0].setData(data1);
            }
        });
    }
      function getJsonSZX(){
            var date=new Date;
            var year=date.getFullYear(); 
            var data1 = [];
            var i ;
            var params = {"nowYear":year,"air3Code":"SZX"};
            $.ajax({
                type : "POST", // 提交方式
                url : servicefulPath + '/irregularBagReportTotal/trendChart',
                data : params,
                success : function(result) {
                // 對json進行升序排序函數
                var json = result.data;
                for ( var key in json) {
                //通過遍歷對象屬性的方法,遍歷鍵值對,獲得key,然後通過 對象[key]獲得對應的值
                var name = key;
                var value = json[key];
                console.log(value);
                if (json.hasOwnProperty(key)) {
                    data1.push([ json[key] ]);
                }
                }
                    chart1.series[1].setData(data1);
            }
        });
    }
      

 三、後臺代碼

   
 public Map<String, Object> trendChart(int nowYear,String air3Code){
        Map<String, Object> map = new TreeMap<String, Object>();
        map = reportService.trendChart(nowYear,air3Code);
        return map;
    }

返回對應的map集合就可以了,是不是很簡單。如果要實現動態刷新在js裏面寫一個定時器就可以了。

 

  
  //每隔10秒自動調用方法,實現圖表的實時更新  
        window.setInterval(getJson,100000);   

最後歡迎大佬們前來評論交流探討,學習快樂。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章