向 High-chart X 轴添加更多数据
Add more data to High-chart X axis
我正在尝试使用 highchart 实时更新图表,该图表使用 setInverval 函数每 2 秒更新一次,并使用 .addPoint 像这样添加数据。
setInterval(function (data) {
var inf = parseInt(data.stat);
chart_data.addPoint([x,purple], true, true);
},2000);
一切正常,除了图表没有保存太多数据,而且每秒添加的数据都被推送消失,所以它没有保存足够的数据。我希望图表在清除旧数据之前保存更多数据。就像保留最后 5 分钟的数据,一旦每 2 秒添加一次新数据,5 分钟前添加的数据就会被清除。
目前的图表是这样的,
xAxis: {
type: 'datetime',
tickPixelInterval: 10
},
显然降低 tickPixelInterval 似乎也无济于事。我该如何解决?谢谢
您正在使用:
chart_data.addPoint([x,purple], true, true);
第二个为 shift 参数(参见 API:http://api.highcharts.com/highcharts#Series.addPoint),并且会导致系列在添加最新数据点时删除第一个数据点。为避免这种情况,您可以检查是否有足够的数据来执行转换。例如 2 秒 * 150 = 5 分钟(300 秒),因此如果 addPoint 被调用 151 次,然后 shift 参数应该为真,否则为假。
我正在尝试使用 highchart 实时更新图表,该图表使用 setInverval 函数每 2 秒更新一次,并使用 .addPoint 像这样添加数据。
setInterval(function (data) {
var inf = parseInt(data.stat);
chart_data.addPoint([x,purple], true, true);
},2000);
一切正常,除了图表没有保存太多数据,而且每秒添加的数据都被推送消失,所以它没有保存足够的数据。我希望图表在清除旧数据之前保存更多数据。就像保留最后 5 分钟的数据,一旦每 2 秒添加一次新数据,5 分钟前添加的数据就会被清除。
目前的图表是这样的,
xAxis: {
type: 'datetime',
tickPixelInterval: 10
},
显然降低 tickPixelInterval 似乎也无济于事。我该如何解决?谢谢
您正在使用:
chart_data.addPoint([x,purple], true, true);
第二个为 shift 参数(参见 API:http://api.highcharts.com/highcharts#Series.addPoint),并且会导致系列在添加最新数据点时删除第一个数据点。为避免这种情况,您可以检查是否有足够的数据来执行转换。例如 2 秒 * 150 = 5 分钟(300 秒),因此如果 addPoint 被调用 151 次,然后 shift 参数应该为真,否则为假。