来自php的highcharts动态数据

来自php的highcharts动态数据,php,javascript,highcharts,Php,Javascript,Highcharts,我正在尝试使用PHP动态生成的数据绘制图表(样条曲线)。我为此使用的JavaScript库是HighCharts PHP以如下格式生成一个值数组 array( array("1304294461000",69,"1304899261000",28), array("1304294431000",3,"1304899161000",32) ) 然后使用json_encode将其传递到javascript数组。然而,当我将这些值作为数据推送时,它似乎不起作用 例如,下面是一

我正在尝试使用PHP动态生成的数据绘制图表(样条曲线)。我为此使用的JavaScript库是HighCharts

PHP以如下格式生成一个值数组

array(
      array("1304294461000",69,"1304899261000",28),
      array("1304294431000",3,"1304899161000",32)
)
然后使用json_encode将其传递到javascript数组。然而,当我将这些值作为数据推送时,它似乎不起作用

例如,下面是一个相关代码片段的示例,如-

 var namesArr = <?php echo json_encode($namesArr); ?>;

 var progressTrendsData = <?php echo json_encode($progressTrendsData); ?>;
 var chart;
 var options = {
     chart: {
         renderTo: 'trendsDiv',
         type: 'spline'
     },
     series: [{
     name: '',
     data: []
     }]
 };

 for(var i=0;i<namesArr.length;i++) {
    options.series.push({
            name: namesArr[i],
            data: progressTrendsData[i]
    });
 }

 chart = new Highcharts.Chart(options); 
var namesArr=;
var progressTrendsData=;
var图;
变量选项={
图表:{
renderTo:“trendsDiv”,
类型:“样条线”
},
系列:[{
名称:“”,
数据:[]
}]
};

对于(var i=0;i我倾向于同意w/Mark的观点。很难确切地说您的数据最终看起来是这样的。请查看highcharts上ajax数据示例的数据加载部分

更新:

请尝试以下伪代码:

var chart;
var options = {
     chart: {
         renderTo: 'trendsDiv',
         type: 'spline'
     },
     series: [{
     name: '',
     data: []
     }]
 };

var seriesInfo=[];
seriesInfo[0]={"name":"Series A","data":[]};
seriesInfo[1]={"name":"Series B","data":[]};

//Loop over the series and populate the data
seriesInfo[0].data.push({x:<insert Series A timestamp>,y:<insert Series A y value>});
seriesInfo[1].data.push({x:<insert Series B timestamp>,y:<insert Series B y value>});

options.series.push(seriesInfo[0]);
options.series.push(seriesInfo[1]);

chart = new Highcharts.Chart(options);
var图;
变量选项={
图表:{
renderTo:“trendsDiv”,
类型:“样条线”
},
系列:[{
名称:“”,
数据:[]
}]
};
var serieinfo=[];
seriesInfo[0]={“名称”:“系列A”,“数据”:[]};
seriesInfo[1]={“名称”:“系列B”,“数据”:[]};
//在序列上循环并填充数据
serieinfo[0].data.push({x:,y:});
serieinfo[1].data.push({x:,y:});
options.series.push(serieinfo[0]);
options.series.push(serieinfo[1]);
图表=新的高点图表。图表(选项);

您的代码可以正常工作。我根据PHP中的子项添加值。请看这里的fiddle:。一件事,我认为您的意思是数组是点对[[[1304294461000,69],[1304899261000,28],[[1304294431000,3],[1304899161000,32]]或来自PHP数组(数组(数组(数组(1304294461000,69),数组(1304899261000,28)),数组(阵列(1304294431000,3),阵列(1304899161000,32)))是的,如果你直接输入值,这是可行的,但其他情况下不行。数据由时间组成,值pairsNo,如果需要,我可以更改它们,所以我想问题是,时间对的时间部分是作为字符串返回的,因为我在32位系统上,我不能将其转换为int。在这种情况下,什么是最好的选择?