highcharts动态刷新数据,得先清空上一个数据,不然会出现前一个图形和新数据的图形重合

// 实例化chart对象
function newChart(obj, container, title) {
 return new Highcharts.Chart( {
  // $('#container1').highcharts({
  chart : {
   renderTo : container,
   type : 'line'
  },
  title : {
   text : title,
   x : -100
  },
  exporting : {

   enabled : false
  },
  xAxis : {

   categories : obj
  },
  yAxis : {
   title : {
    text : ''
   },
   plotLines : [ {
    value : 0,
    width : 1,
    color : '#FFFFFF'
   } ]
  },
  tooltip : {
   valueSuffix : 'MW'
  },
  legend : {
   enabled : false,
   align : 'right',
   verticalAlign : 'middle',
   borderWidth : 0
  }
 });
}

-----------------

var categories1 = [];
 var name1 = '';
 var data1 = [];
 var chart1 = newChart(categories1, 'container1', '总负荷(MW)');--------刚开始初始化页面有个默认的数据图

 // ///总负荷点击年
  $("#yearfuhe").click(function() {
   ajax1("year");
   

  }).removeClass(".").addClass();
  // //总负荷点击月
  $("#monthfuhe").click(function() {
   ajax1("month");

  });

  function ajax1(time) {
   $.ajax( {
    type : "POST",
    url : contentPath + "linejson.action",
    data : "type=totalfuhe&time=" + time,
    dataType : 'json',
    success : function(returndata) {
     categories1 = [];
     data1 = [];
     chart1 = newChart(categories1, 'container1', '总负荷(MW)');------------------后来ajax是重新获得数据,得清空categories1,data1,chart1,不然初始化的数据图会残留下来
     var result = eval('(' + returndata.json + ')');
     for ( var i = 0; i < result.length; i++) {

      var varkeyTemp = (result[i].key).split("#");
      if (varkeyTemp.length > 0) {
       for ( var n = 0; n < varkeyTemp.length; n++) {
        categories1.push(varkeyTemp[n].toString());
       }
      }

      var varvalueTemp = (result[i].data).split("#");
      if (varvalueTemp.length > 0) {
       for ( var j = 0; j < varvalueTemp.length; j++) {
        data1[j] = parseFloat(varvalueTemp[j]);// 必须加parseFloat

   }

  }

  chart1.addSeries( {
   name : result[i].name,
   data : data1
  });
  // chart.xAxis[i].setCategories(categories);
    // 已经push了,所以不需要再设置,
   }
  }
   });

  }

 

你可能感兴趣的:(highcharts动态刷新数据,得先清空上一个数据,不然会出现前一个图形和新数据的图形重合)