【发布时间】:2011-11-17 21:18:26
【问题描述】:
我现在正在与 Highcharts 斗争,试图将数据输入其中。如果我对选项和系列进行硬编码,我可以让它工作 - 所以这不是我的配置(即脚本、css 等)
我在这里查看了有关 SO 的以下问题:Ajax JSON in to Highcharts Pie Chart
不幸的是,它没有帮助。有人可以看看我做错了什么吗?
(此代码与前面提到的SO帖子直接相关)
function renderChart(divId, chartType, chartTitle){
var options = createOption(divId, chartType, chartTitle);
var series = createSeries();
options.series = series;
var chart = new Highcharts.Chart(options);
}
function createOption(divId, chartType, chartTitle){
var options = {
chart: {
renderTo: divId,
defaultSeriesType: 'pie'
},
title: {
text: chartTitle
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: true
}
},
series: []
};
return options;
}
function createSeries(){
var series = [];
series.push('[');
series.push('{');
series.push('"type" : "pie",');
series.push('"name" : "fruits",');
series.push('"data" : [');
series.push('[');
series.push('"Apple",')
series.push('43.0');
series.push('],');
series.push('[');
series.push('"Pear",')
series.push('57.0');
series.push(']');
series.push(']');
series.push('}');
series.push(']');
return series.join('');
}
提前致谢。
无视。最简单的方法 - 让服务器制作系列对象。看到这个帖子:iterate JSON response with jQuery for Highcharts
【问题讨论】:
-
为什么不动态构造一个对象而不是JSON字符串呢? Highcharts 需要 JSON 字符串吗?
-
我可以如下创建一个对象,但是当我从网络服务器获取键值对时,我如何动态构造一个对象?系列:[{名称:'台式机',数据:[107,31,635,203,2]},{名称:'笔记本电脑',数据:[133,156,947,408,6]},{名称: '服务器',数据:[973, 914, 4054, 732, 34] }]
-
已解决。请参阅上面的编辑。我会尽快自行回答。
-
哦,没看到你最后的评论
标签: jquery json highcharts