【问题标题】:Dynamic jSON into Highcharts Pie Chart动态json转换成Highcharts饼图
【发布时间】: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


【解决方案1】:

你正在给 Highcharts 提供一个字符串:

'[{"type" : "pie","name" : "fruits","data" : [["Apple",43.0],["Pear",57.0]]}]'

它需要一个系列的配置对象数组,例如:

[{
    type : "pie",
    name : "fruits",
    data : [["Apple",43.0],["Pear",57.0]]
}]

【讨论】:

    【解决方案2】:

    您可以直接将图表与 JSON 数据绑定。您只需将 json 属性名称设置为 highchart 标准。 'Y' 代表值,'name' 代表标签。

    您的 JSON 应如下所示:

    [{名称:“苹果”,y:25},{名称:“梨”,y:20}]

    【讨论】:

      猜你喜欢
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-29
      • 1970-01-01
      相关资源
      最近更新 更多