Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Highcharts中设置动态x轴范围_Javascript_Jquery_Highcharts - Fatal编程技术网

Javascript 在Highcharts中设置动态x轴范围

Javascript 在Highcharts中设置动态x轴范围,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,以下设置将Highcharts上的x轴范围设置为过去一小时: xAxis: { min: new Date().setHours(new Date().getHours() - 1), // last hour max: new Date().getTime()), // now }, 但是,每隔几秒钟就会添加更多的数据点。如何使x轴动态,使刻度更新为新的数据点,仅显示过去一小时的数据?您查看过Highstock吗。也许它更适合

以下设置将Highcharts上的x轴范围设置为过去一小时:

xAxis: {
    min: new Date().setHours(new Date().getHours() - 1), // last hour
    max: new Date().getTime()),                          // now
},

但是,每隔几秒钟就会添加更多的数据点。如何使x轴动态,使刻度更新为新的数据点,仅显示过去一小时的数据?

您查看过Highstock吗。也许它更适合你正在做的事情

但在Highchart上,您可以按如下方式更新最小-最大值:

chart.xAxis[0].update({
    min: new Date().getTime(),
    max: new Date().setHours(new Date().getHours()-1),
});

动态添加点时,可以同时使用
axis.setextrems
()更新x轴。例如:

// Add new (random) point
chart.series[0].addPoint(Math.floor(Math.random() * 100));

// Update x-axis range
chart.xAxis[0].setExtremes(new Date().getTime(), new Date().setHours(new Date().getHours()+1));
请参阅以获得类似的演示。

1)它看起来像是向后的(最大值应为“现在”,最小值应为b-1小时)

2) 实际问题是什么?什么不起作用

如果适当设置最小值/最大值,则仅显示最小值和最大值内的数据

您还应该只向您要显示的时间范围内的图表发送数据。否则,您将最终发送大量不需要的数据

查看addPoint()方法的“shift”属性:

另请看setData()方法:


这不应该是一个
+1