您好我的highcharts'系列'选项有问题。我初始化了图表选项,如下所示:
var options = {
chart: {
renderTo: 'chart',
defaultSeriesType: 'line',
},
title: {
text: 'Weight Monitor',
},
xAxis: {
title: {
text: 'Date Measurement'
},
categories: []
},
yAxis: {
title: {
text: 'Weight (in Lbs)'
}
},
series: []
};
我保留了类别:[]为空,以便我可以稍后将值放入类别中。我对我的系列选项做了同样的事情。我保留数据:[]为空白以便稍后填写。现在我写了代码来填充数据。
var lines = [
[2011,150],
[2012,121],
$.each(lines, function(lineNo, line) {
var items = line.toString().split(",");
$.each (items, function(itemNo, item) {
if(itemNo == 0){
alert("itemNo: " + itemNo + " item: " + item);
options.xAxis.categories.push(item);
alert(options.xAxis.categories);
}
else {
var series = {
data: []
};
alert("itemNo: " + itemNo + " item: " + item);
options.series.data.push(parseFloat(item));
alert(options.series.data);
};
});
});
var chart = new Highcharts.Chart(options);
现在,当我执行此代码时,我的categories []正在获取值,但是当它位于“options.series.data.push(parseFloat(item))”时执行会被卡住。我在“alert(”itemNo:“+ itemNo +”item:“+ item);”中获得了正确的值。但就在此之后,它在series.data []
中推送项目时挂起任何想法是什么问题。我在php项目中运行这个javascript,所以不知道是否因为语言有任何问题。感谢
答案 0 :(得分:2)
问题是options.series.data.push(parseFloat(item))
。
如果查看选项对象,可以看到系列数组为空。您可以在选项定义中使用广告系列对象,如下所示 -
series: [{
data: []
}]
也是行
var series = {
data: []
};
是没用的。