Javascript 防止Highchart重绘抽搐

Javascript 防止Highchart重绘抽搐,javascript,highcharts,Javascript,Highcharts,我在散点图上反复使用AddPoint来显示一些数据的演变,使用 setinterval() 当图表由于新数据点的存在而更新轴的范围时,图表有时会“抽动”,因为数据分布在原点周围不再平衡: 我希望保持轴的重绘以适应各种数据分布,因此一种解决方案是始终将原点保持在图形的中心,并将轴的正负比例一起缩放,并始终向上缩放。但我不知道如何实现这些目标 有没有办法避免抽搐?这些“抽搐”来自Highcharts的本机轴自动缩放。您可以修复xAxis,使图表不再移动。例如,我通过为xAxis添加min:-15

我在散点图上反复使用AddPoint来显示一些数据的演变,使用

setinterval()
当图表由于新数据点的存在而更新轴的范围时,图表有时会“抽动”,因为数据分布在原点周围不再平衡:

我希望保持轴的重绘以适应各种数据分布,因此一种解决方案是始终将原点保持在图形的中心,并将轴的正负比例一起缩放,并始终向上缩放。但我不知道如何实现这些目标

有没有办法避免抽搐?

这些“抽搐”来自Highcharts的本机轴自动缩放。您可以修复
xAxis
,使图表不再移动。例如,我通过为
xAxis
添加
min:-15
,使您的JSFIDLE工作:

    xAxis: {
        plotLines: [{
            color: '#FA5858',
            width: 1,
            value: 0,
            zIndex: 2
        }],
        minRange: 30,
        min: -15,
        gridLineWidth: 1
    }

设置轴的限制后,请参见JSFIDLE使用非“抽搐”(根据@Kabulan0lak的回答),我发现我可以通过跟踪最大震级数据值,然后使用
setextrems
()手动重新设置轴的最大和最小限制,从而单调地增加正轴和负轴限制

e、 g.
chart.xAxis[0]。设置极值(最小值x,最大值x)


更新的JSFIDLE:

谢谢;此解决方案牺牲了轴缩放功能,因此如果要保持数据的可视性,必须事先知道数据的范围,并且随着更高数量级数据的添加,“缩小”的感觉将丢失。但是抽搐/抽搐消失了。是的,你是对的,我不知道你的代码行为。如果您必须保持axis自动缩放,我们确实需要找到更好的解决方案。基于@Kabulan0lak的答案,我找到了一种使用
setextrems
的方法;我把它作为答案贴了出来。