最近在使用highCharts绘制折线图,从后台接口获取到数据,并在前端实时更新折线图数据
问题1:获取到数据
/**
* Ajax 请求数据接口,并通过 Highcharts 提供的函数进行动态更新
* 接口调用完毕后间隔 1 s 继续调用本函数,以达到实时请求数据,实时更新的效果
*/
function requestData() {
$.ajax({
url: 'live-server-data.php',
success: function(point) {
var series = chart.series[0],
shift = series.data.length > 20; // 当数据点数量超过 20 个,则指定删除第一个点
// 新增点操作
//具体的参数详见:https://api.hcharts.cn/highcharts#Series.addPoint
chart.series[0].addPoint(point, true, shift);
// 一秒后继续调用本函数
setTimeout(requestData, 1000);
},
cache: false
});
}
问题2:数据解析
在绘制的时候出现Highcharts error #14: www.highcharts.com/error 。
错误原因:数据类型错误,需要的是Number类型,传入的却是String
一般就是数字,时间等是坐标值
所以
将字符串时间转化为时间戳
new Date(time).getTime()
将数字转为Number型
Number(num)