嗨,我需要一些帮助,为高级图表添加额外的点数系列。我让它实时更新,但只能得到一个点正常工作,但可以得到第二个点出现,但没有正确的值。
我在php文件(dashchart.php)中有以下内容:
//CREATE AN ARRAY AND ECHO AS JSON
$ret = array($x, $y);
$ret2 = array($x, $y1);
echo json_encode($ret);
echo json_encode($ret2);
$ x只是一个UNIX时间戳,$ y是数字。
调用数据的函数,然后传递给highcharts绘制:
function requestData() {
$.ajax({
url: 'api_dashchart.php',
success: function(point) {
var series = chart.series[0],
shift = series.data.length > 20; // shift if the series is longer than 20
// add the point
chart.series[0].addPoint(eval(point), true, shift);
// add the point
chart.series[1].addPoint(eval(point), true, shift);
// call it again after one second
setTimeout(requestData, 1000);
},
cache: false
});
}
我知道它必须是非常基本的东西,但我刚刚开始使用Javascript并且无法理解它。非常感谢任何帮助
答案 0 :(得分:2)
如果point
的类型为json:
var pointChart = new Array(point[0].xValue, point[0].yValue);
chart.series[0].addPoint(pointChart, true, shift);
如果point
不是json,则相应地给出pointChart定义中该点的xValue和yValue的值。
答案 1 :(得分:1)
嗨,我正在看那个并得到以下解决方案
$ret = array($x, $value1 , $value2);
然后
success: function(point) {
var series = chart.series[0],
shift = series.data.length > 20; // shift if the series is longer than 20
var series = chart.series[1],
shift = series.data.length > 20;
// add the point
chart.series[0].addPoint([point[0], point[1]], true, shift);
chart.series[1].addPoint([point[0], point[2]], true, shift);
然后
series: [{
name: 'Point1',
data: []
}, {
name: 'Point2',
data: []
}]