我有像这样的动态数据系列
[1,0],[2,0],[3,0],[4,0],[5,0],[6,2],[7,5],[8,6],[9,6],[10,6],[11,7],[12,8],[13,8],[14,9]
数据会自动增长,因此稍后会添加额外的数据点,例如[15,13]
我有一个输入字段,用户可以在其中选择他想要显示的结尾点数。
例如,如果他输入5,则只能看到[10,6],[11,7],[12,8],[13,8],[14,9]
。但是,当添加附加点时,它应自动变为[11,7],[12,8],[13,8],[14,9],[15,13]
。
我想我必须使用chart.xAxis[0].setExtremes()
,但我不知道输入什么作为参数......?
答案 0 :(得分:2)
你必须重新申请"添加点时setExtremes
。 setExtremes
函数接受这些参数(API):
setExtremes (Number min, Number max, [Boolean redraw], [Mixed animation])
您必须使用min
和max
来显示所需的点数,并将其包含在最后一个点中。例如,你可以这样做:
var chart = $('#container').highcharts();
var numberOfPointsToShow = 5;
// Add new random point
chart.series[0].addPoint(Math.random() * 25);
// Get index of last point
var lastPoint = chart.series[0].data.length - 1;
// Set extremes to go from "min" (based on last point) to last point
chart.xAxis[0].setExtremes(
lastPoint - (numberOfPointsToShow - 1), // min
lastPoint); // max
通过动态添加点来查看this JSFiddle example。