Highcharts - Sunburst Module - series.data:相同的var但只有一个work,另一个不是

时间:2018-04-04 14:44:00

标签: javascript highcharts

我正在使用Highcharts Sunburst来解决一个非常奇怪的问题。 最重要的是,请记住我已经验证了我的JSON并在JSFiddle演示中测试它(在文档中找到),一切正常。

这是我的问题:

我得到的数据是这样的:

var data = sessionStorage.getItem('data_fap');
var parsed_data = JSON.parse(data);
var chart_data = parsed_data.data;

(我的JSON看起来像:{data: [{id: "0", parent: "", name: " ", desc: " ", value: " "},...]}

如果图表构造函数中使用了chart_data,则没有图表,没有错误。

如果我这样设置我的var:

var data = [{id: "0", parent: "", name: " ", desc: " ", value: " "},...]};

在图表构造函数中使用它,一切正常。

我以为它可能来自我的图表选项,所以我从JSFiddle复制/粘贴一个,仍然没有工作......

这是我完整的图表生成代码:

var data = sessionStorage.getItem('data_fap');
        var parsed_data = JSON.parse(data);
        var new_data = parsed_data.data;

        // Splice in transparent for the center circle
        Highcharts.getOptions().colors.splice(0, 0, 'transparent');


        Highcharts.chart('graph_metier', {

            chart: {
                height: '100%'
            },

            title: {
                text: 'Domaines et familles professionnels'
            },
            subtitle: {
                text: ''
            },
            series: [{
                type: "sunburst",
                data: new_data,
                allowDrillToNode: true,
                cursor: 'pointer',
                dataLabels: {
                    format: '{point.name}',
                    filter: {
                        property: 'innerArcLength',
                        operator: '>',
                        value: 16
                    }
                },
                levels: [{
                    level: 1,
                    levelIsConstant: false,
                    levelSize: {
                        unit: 'percentage',
                        value: 30
                    }
                },{
                    level: 2,
                    colorByPoint: true
                },
                {
                    level: 3,
                    colorByPoint: true
                }]

            }],
            plotOptions: {
                series: {
                    events: {
                        click: function (event) {
                            if(event.point.parent != "0"){

                            }
                        }
                    }
                }
            },
            tooltip: {
                formatter: function(e){
                    if(e.chart.hoverPoint.options.id == 0){
                        return false;
                    }
                    else
                    {
                        return '<b>' + e.chart.hoverPoint.options.name + '</b> (code: ' + e.chart.hoverPoint.options.id + ')<br>' + e.chart.hoverPoint.options.desc;
                    }
                }
            }
        });

如果有人能帮我理解这个烂摊子,我会非常感激:)

0 个答案:

没有答案