2015-09-15 6 views
0
function drawGraph($scope) { 
    //console.log("in draw graph"); 
    //console.log(graphName); 
    //console.log($scope.chartCategories); 
    //console.log($scope.chartSeries); 
    $scope.chartConfig = { 
     chart: { 
      type: 'spline', 
      animation: Highcharts.svg, // don't animate in old IE 
      marginRight: 10, 
      events: { 
       load: function() { 

        // set up the updating of the chart each second 
        var series = this.series[0]; 
        setInterval(function() { 
         var x = (new Date()).getTime(), // current time 
          y = Math.random(); 
         series.addPoint([x, y], true, true); 
         console.log(x + y); 
        }, 1000); 
       } 
      } 
     }, 
     title: { 
      text: 'Live random data' 
     }, 
     xAxis: { 
      type: 'datetime', 
      tickPixelInterval: 150 
     }, 
     yAxis: { 
      title: { 
       text: 'Value' 
      }, 
      plotLines: [{ 
       value: 0, 
       width: 1, 
       color: '#808080' 
      }] 
     }, 
     tooltip: { 
      formatter: function() { 
       return '<b>' + this.series.name + '</b><br/>' + 
        Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' + 
        Highcharts.numberFormat(this.y, 2); 
      } 
     }, 
     legend: { 
      enabled: false 
     }, 
     exporting: { 
      enabled: false 
     }, 
     series: [{ 
      name: 'Random data', 
      data: (function() { 
       // generate an array of random data 
       var data = [], 
        time = (new Date()).getTime(), 
        i; 

       for (i = -19; i <= 0; i += 1) { 
        data.push({ 
         x: time + i * 1000, 
         y: Math.random() 
        }); 
       } 
       return data; 
      }()) 
     }] 
    } 
} 

Все прекрасно работает. Диаграмма создает и т. Д., Но единственная проблема заключается в том, что диаграмма не динамически меняет, т. Е. Я думаю, что событие загрузки в диаграмме: {} не выполняется или что-то, потому что оно даже не входит в консоль. Пожалуйста, помогите мне. То же самое работает HereHighchart event LOAD не работает

ответ

1

Попробуйте перерисовать диаграмму после обновления данных.

load: function() { 

    // set up the updating of the chart each second 
    var series = this.series[0]; 
    var chart = this; 
    setInterval(function() { 
     var x = (new Date()).getTime(), // current time 
      y = Math.random(); 
     series.addPoint([x, y], true, true); 
     chart.redraw(); 
     console.log(x + y); 
    }, 1000); 
} 
+0

То же! функция загрузки даже не вызывает: S –

+0

посмотреть, есть ли какая-либо ошибка в консоли js –

Смежные вопросы