Javascript 一次显示多个数据点:Highcharts

Javascript 一次显示多个数据点:Highcharts,javascript,arrays,highcharts,Javascript,Arrays,Highcharts,我试图做的是,我创建了一个php文件来创建一个动态的no数组,它在每次页面加载时都会发生变化 我创建的php代码是: header("Content-type: text/json"); $random = [] ; for($i=0 ;$i<10;$i++) { $random[] = rand(0,10) ; } echo json_encode($random); 如果您有动态JSON文件作为输入,我建议您最好使用highchart的内置函数 [rowsURL:字符串

我试图做的是,我创建了一个php文件来创建一个动态的no数组,它在每次页面加载时都会发生变化

我创建的
php
代码是:

header("Content-type: text/json");
 $random = [] ;
 for($i=0 ;$i<10;$i++)
{
    $random[] = rand(0,10) ;
}
 echo json_encode($random);

如果您有动态JSON文件作为输入,我建议您最好使用highchart的内置函数

[rowsURL:字符串] 自4.0.0以来,远程JSON数据集的URL是结构化的 作为行数组。将在使用Ajax创建图表时获取

请检查以下示例:

var chart=Highcharts.chart('container',{
数据:{
罗苏尔:“我的朋友。”https://demo-live-data.highcharts.com/time-rows.json',
firstRowAsNames:false,
enablePolling:true,
数据刷新率:2
}
});

如果您有动态JSON文件作为输入,我建议您最好使用highchart的内置函数

[rowsURL:字符串] 自4.0.0以来,远程JSON数据集的URL是结构化的 作为行数组。将在使用Ajax创建图表时获取

请检查以下示例:

var chart=Highcharts.chart('container',{
数据:{
罗苏尔:“我的朋友。”https://demo-live-data.highcharts.com/time-rows.json',
firstRowAsNames:false,
enablePolling:true,
数据刷新率:2
}
});

使用
addPoint
方法,您只能添加一个点。您需要在循环中使用
setData
方法或
addPoint

function requestData() {
    $.ajax({
        url: 'https://api.myjson.com/bins/wmxsn',
        success: function(data) {
            var series = chart.series[0],
                shift = series.data.length > 20, // shift if the series is 
                y = data;

            data.forEach(function(el) {
                chart.series[0].addPoint(el, false, shift);
            });

            chart.redraw();

            //setTimeout(requestData, 1000);
        },
        cache: false
    });
}

现场演示:

API参考:


使用
addPoint
方法,您只能添加一个点。您需要在循环中使用
setData
方法或
addPoint

function requestData() {
    $.ajax({
        url: 'https://api.myjson.com/bins/wmxsn',
        success: function(data) {
            var series = chart.series[0],
                shift = series.data.length > 20, // shift if the series is 
                y = data;

            data.forEach(function(el) {
                chart.series[0].addPoint(el, false, shift);
            });

            chart.redraw();

            //setTimeout(requestData, 1000);
        },
        cache: false
    });
}

现场演示:

API参考:


单轴值数据(我的自定义数据)是否可以实现这一点。我的动态数据返回的输入如下
[1,5,3,6,3,5,6,4,6,3]
我认为这不能作为输入传递。我没有尝试过这样的事情。那么什么样的数据可以作为输入传递呢?我将尝试创建类似的内容。这里可以看到示例数据。数据需要采用指定x轴和y轴值的2D数组格式。这将可能与单轴值数据(我的自定义数据)类似。我的动态数据返回的输入如下
[1,5,3,6,3,5,6,4,6,3]
我认为这不能作为输入传递。我没有尝试过这样的事情。那么什么样的数据可以作为输入传递呢?我将尝试创建类似的内容。这里可以看到示例数据。数据需要采用指定x轴和y轴值的2D数组格式。像Hi@Abnit Chauhan一样,在
requestData
函数中
console.log(y)
的结果是什么?它是一个由10个no组成的数组,比如[1,5,3,6,3,5,6,4,6,3]。每次AJAX调用都会发生变化@ppotaczekHi@Abnit Chauhan,在
requestData
函数中
console.log(y)
的结果是什么?它是一个由10个no组成的数组,类似于[1,5,3,6,3,5,6,4,6,3]。每次AJAX调用都会发生变化@普托塔切克才华横溢。只有几件事要问<代码>数据.forEach(函数(el){chart.series[0].addPoint(el,false,shift);})1。为什么在函数2的第二个参数中添加了
false
。我们可以改变成束的数据点的动画类型吗。我想将其显示为实时流1。我为性能设置了
false
chart.redraw()
仅在循环后调用一次。2.您可以使用动画创建间隔:精彩。只有几件事要问<代码>数据.forEach(函数(el){chart.series[0].addPoint(el,false,shift);})1。为什么在函数2的第二个参数中添加了
false
。我们可以改变成束的数据点的动画类型吗。我想将其显示为实时流1。我为性能设置了
false
chart.redraw()
仅在循环后调用一次。2.可以使用动画创建间隔: