您好我正在使用高级API在循环中生成图形
for(i=1;i<10;i++)
{
xseries = "{'INCOPAV','B&M','SGS-ETSA'}";
yseries = "[{name: 'Generados',data: [49.9, 71.5, 106.4]}, {name: 'Cerrados',data: [83.6, 78.8, 98.5]}]";
generateAllGraph('graph_container'+i,'abcd'+i,xseries,yseries);
}
function generateAllGraph(container,graphTitle,XaxesSeries,YaxesSeries)
{
$('#'+container+'').highcharts({
chart: {
renderTo: container,
type: 'column'
},
title: {
text: graphTitle
},
subtitle: {
text: ''
},
legend: {
itemStyle: {
fontSize: "10px"
}
},
xAxis: {
categories: [XaxesSeries]
},
yAxis: {
min: 0,
title: {
text: 'Registros'
}
},
tooltip: {
formatter: function() {
return ''+
this.x +': '+ this.y +' Registros';
}
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: YaxesSeries
});
}
但它没有按照参数
取X轴和Y轴我认为传递X轴和y轴变量有问题我尝试使用jQuery.parseJSON()但没有得到结果
并提供这样的输出
请帮帮我
答案 0 :(得分:3)
您将系列作为字符串传递,而不是作为对象传递。此外,xseries不是有效的数组声明。尝试:
xseries = ['INCOPAV','B&M','SGS-ETSA'];
yseries = [
{name: 'Generados',
data: [49.9, 71.5, 106.4]
},
{
name: 'Cerrados',
data: [83.6, 78.8, 98.5]
}
];
(注意,周围没有双引号。
答案 1 :(得分:3)
首先,正如SteveP所说,xseries不是一个正确的数组声明。
一旦你解决了这个问题,你需要摆脱xseries / yseries周围的双引号。 你需要做的是:
var json1 = jQuery.parseJSON(xseries);
var json2 = jQuery.parseJSON(yseries);
并传递这些变量。
希望有所帮助