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