Highcharts向下钻取不适用于3个以上的级别

问题描述 投票:0回答:1

我想进行3个以上级别的海图深入分析。另外,我尝试参考下面的文章,但无法弄清楚。

Drilldown multiple levels Highchart

Highcharts - drill down to multiple series

我最多只能做3个级别。此后,bar不可单击。

不确定错误在哪里,但这是我到目前为止所做的。

2级向下钻取-工作正常

多级-仅工作到月级,不能过滤日级

https://jsfiddle.net/foodiepanda/2ec7d6fz/9/

下面是代码(仅jquery)

        /*Start*/

            $('#chart1').highcharts({

                chart: {type: 'column'},
                title: {text: 'Multi Drilldown'},
                xAxis: {type: 'category'},
                legend: {enabled: false},
                plotOptions:
                {
                    series:
                    {
                        dataLabels:
                        {
                            enabled: true, //Shown at top of column
                        }
                    }
                },
                series:
                    [
                        {
                            name: 'Year',
                            //colorByPoint: false,
                            data:
                            [
                                {name: '2019',y: 200,drilldown: '2019'}, //200 clicks in 2018
                                {name: '2020',y: 450,drilldown: '2020'}, //450 clicks in 2019
                            ]
                        }
                    ],
                drilldown:
                {
                    series:
                    [

                        {
                            id: '2019', //For 2019
                            name: 'Quarter', //Splitting 200 as 50,100,20,30
                            data:
                            [
                                {
                                    name: 'Q1',
                                    y: 50,
                                    drilldown: 'Q1'
                                },
                                {
                                    name: 'Q2',
                                    y: 100,
                                    drilldown: 'Q2'
                                },
                                {
                                    name: 'Q3',
                                    y: 20,
                                    drilldown: 'Q3'
                                },
                                {
                                    name: 'Q4',
                                    y: 30,
                                    drilldown: 'Q4'
                                }
                            ]
                        },
                        {
                            id: 'Q1',
                            name: 'Month', //Splitting 50 as 10,30,20
                            data:
                            [
                                {
                                    name: 'Jan',
                                    y: 10,
                                    drilldown: 'Jan'
                                },
                                {
                                    name: 'Feb',
                                    y: 30,
                                    drilldown: 'Feb'
                                },
                                {
                                    name: 'Mar',
                                    y: 20,
                                    drilldown: 'Mar'
                                }
                            ]
                        },
                        {
                            id: 'Jan',
                            name: 'Day', //Splitting 10 as ...[days]
                            data:
                            [
                                {name:'1', y: 0},
                                {name:'2', y: 0},
                                {name:'3', y: 2},
                                {name:'4', y: 0},
                                {name:'5', y: 0},
                                {name:'6', y: 0},
                                {name:'7', y: 0},
                                {name:'8', y: 0},
                                {name:'9', y: 0},
                                {name:'10', y: 0},
                                {name:'11', y: 1},
                                {name:'12', y: 2},
                                {name:'13', y: 0},
                                {name:'14', y: 1},
                                {name:'15', y: 0},
                                {name:'16', y: 0},
                                {name:'17', y: 0},
                                {name:'18', y: 0},
                                {name:'19', y: 0},
                                {name:'20', y: 0},
                                {name:'21', y: 0},
                                {name:'22', y: 0},
                                {name:'23', y: 0},
                                {name:'24', y: 0},
                                {name:'25', y: 2},
                                {name:'26', y: 0},
                                {name:'27', y: 0},
                                {name:'28', y: 0},
                                {name:'29', y: 0},
                                {name:'30', y: 1},
                                {name:'31', y: 1}
                            ]
                        },
                        {
                            id: 'Q2',
                            name: 'Month', //Splitting 100 as 80,10,10
                            data:
                            [
                                ['Apr', 80],
                                ['May', 10],
                                ['Jun', 10]
                            ]
                        },
                        {
                            id: 'Q3',
                            name: 'Month', //Splitting 20 as 5,10,5
                            data:
                            [
                                ['Jul', 5],
                                ['Aug', 10],
                                ['Sep', 5]
                            ]
                        },
                        {
                            id: 'Q4',
                            name: 'Month', //Splitting 30 as 5,15,10
                            data:
                            [
                                ['Oct', 5],
                                ['Nov', 15],
                                ['Dec', 10]
                            ]
                        },



                        //For 2020
                        {
                            id: '2020',
                            name: 'Quarter', //Splitting 450 as 50,100,50,250
                            data:
                            [
                                {
                                    name: 'Q1',
                                    y: 50,
                                    drilldown: 'Q1'
                                },
                                {
                                    name: 'Q2',
                                    y: 100,
                                    drilldown: 'Q2'
                                },
                                {
                                    name: 'Q3',
                                    y: 50,
                                    drilldown: 'Q3'
                                },
                                {
                                    name: 'Q4',
                                    y: 250,
                                    drilldown: 'Q4'
                                }
                            ]
                        },
                        {
                            id: 'Q1',
                            name: 'Month', //Splitting 50 as 10,35,5
                            data:
                            [
                                ['Jan', 10],
                                ['Feb', 35],
                                ['Mar', 5]
                            ]
                        },
                        {
                            id: 'Q2',
                            name: 'Month', //Splitting 100 as 40,35,25
                            data:
                            [
                                ['Apr', 40],
                                ['May', 35],
                                ['Jun', 25]
                            ]
                        },
                        {
                            id: 'Q3',
                            name: 'Month', //Splitting 50 as 5,25,20
                            data:
                            [
                                ['Jul', 5],
                                ['Aug', 25],
                                ['Sep', 20]
                            ]
                        },
                        {
                            id: 'Q4',
                            name: 'Month', //Splitting 250 as 75,125,50
                            data:
                            [
                                ['Oct', 75],
                                ['Nov', 125],
                                ['Dec', 50]
                            ]
                        },

                    ] //End Series
                } //End Year Drilldown

            }); //End Highchart function


            //Explicitly change Y axis
            var curChart = $('#chart1').highcharts();
            curChart.yAxis[0].update({
            title:{
                text:"Number of Hits"
            }
        });


        /*End*/
javascript highcharts drilldown
1个回答
0
投票

我能够找出问题所在。

name参数和drilldown参数具有相同的值。我只是将名称参数从“ Q1”重命名为“ _Q1”,它的工作就像一个魅力。

    {
        name: 'Q1',
        y: 50,
        drilldown: '_Q1'
    }

更新了JSFiddle:https://jsfiddle.net/foodiepanda/2ec7d6fz/11/

© www.soinside.com 2019 - 2024. All rights reserved.