Highcharts 每秒更新曲线图

返回上一级

下图是一个 Highcharts 每秒更新曲线图

配置

配置事件属性 chart.event 中添加 load 方法(图表加载事件)

在 1000 毫秒内随机产生数据点并生成图表

chart: {
   events: {
      load: function () {
         // 图表每秒更新一次
         var series = this.series[0];
         setInterval(function () {
            var x = (new Date()).getTime(), // 当期时间
            y = Math.random();
            series.addPoint([x, y], true, true);
         }, 1000);
      }
   }
}

范例

下面的代码列出了 Highcharts 每秒更新曲线图 的基本配置

<!doctype html>
<meta charset="utf-8" />
<title>Highcharts 基础教程 | 简单教程(www.twle.cn)</title>
<script src="https://cdn.hcharts.cn/highcharts/highcharts.js"></script>
<div id="container" style="width: 500px; height: 400px; margin: 0 auto"></div>
<script> 

var chart = {
   type: 'spline',
      animation: Highcharts.svg, // don't animate in IE < IE 10.
   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);
         }, 1000);
      }
   }
};
var title = {
   text: 'Live random data'   
};   
var xAxis = {
   type: 'datetime',
   tickPixelInterval: 150
};
var yAxis = {
   title: {
      text: 'Value'
   },
   plotLines: [{
      value: 0,
      width: 1,
      color: '#808080'
   }]
};
var 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);
   }
};
var plotOptions = {
   area: {
      pointStart: 1940,
      marker: {
         enabled: false,
         symbol: 'circle',
         radius: 2,
         states: {
            hover: {
              enabled: true
            }
         }
      }
   }
};
var legend = {
   enabled: false
};
var exporting = {
   enabled: false
};
var 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;
   }())    
}]; 

var options = {};
options.chart = chart; 
options.title = title;     
options.tooltip = tooltip;
options.xAxis = xAxis;
options.yAxis = yAxis; 
options.legend = legend;  
options.exporting = exporting;   
options.series = series;
options.plotOptions = plotOptions;



Highcharts.setOptions({
      global: {
         useUTC: false
      }
   });
Highcharts.chart('container',options);
</script>

运行范例 »

以上范例输出如下

返回上一级

学习 Hightcharts

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.