在Highchart上只显示最后x个点

时间:2015-03-23 13:56:37

标签: highcharts

我有像这样的动态数据系列

[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(),但我不知道输入什么作为参数......?

1 个答案:

答案 0 :(得分:2)

你必须重新申请"添加点时setExtremessetExtremes函数接受这些参数(API):

setExtremes (Number min, Number max, [Boolean redraw], [Mixed animation])

您必须使用minmax来显示所需的点数,并将其包含在最后一个点中。例如,你可以这样做:

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