HighCharts 使用series setData方法,不要将数据按照x
时间: 2024-02-17 19:03:41 浏览: 167
highcharts
Highcharts 的 `series.setData` 方法可以用来动态更新图表的数据。默认情况下,该方法会根据新数据的 x 值大小对数据进行排序,如果你不想按照 x 值排序,可以使用 `update()` 方法来逐个更新数据点。
以下是一个示例代码:
```javascript
// 初始化图表
var chart = Highcharts.chart('container', {
series: [{
type: 'line',
data: [[1, 2], [2, 3], [3, 4]]
}]
});
// 更新数据
var newData = [[3, 5], [1, 6], [2, 7]];
chart.series[0].points.forEach(function(point, i) {
point.update(newData[i]);
});
```
在上面的代码中,我们先初始化了一个包含三个数据点的线图。然后,我们定义了一个新的数据数组 `newData`,其中每个数据点的 x 值与原来的数据点不同,且没有按照 x 值排序。接着,我们使用 `forEach` 方法遍历原来的数据点,对每个点调用 `update` 方法,将其值更新为新数据数组中对应位置的值。
注意,如果新数据中存在原来没有的数据点,需要先使用 `addPoint` 方法添加数据点,然后再使用 `update` 方法更新其值。如果新数据中存在原来有的数据点,但是顺序不同,可以将原来的数据点删除,再按照新数据的顺序重新添加数据点。
阅读全文