Развертка Highcharts не работает для уровней 3+ - PullRequest
1 голос
/ 07 января 2020

Я хочу иметь развернутую таблицу с более чем 3 уровнями. Кроме того, я пытался ссылаться на статьи ниже, но мне не удалось выяснить.

Развернуть несколько уровней Highchart

Highcharts - развернуть до нескольких серий

Я мог сделать только до 3 уровня. После этого панель не активируется.

Не уверен, где ошибка, но это то, что я сделал до сих пор.

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*/

1 Ответ

2 голосов
/ 08 января 2020

Мне удалось выяснить, в чем проблема.

Параметр name и параметр развертывание имели одинаковые значения. Я просто переименовал параметр имени из «Q1» в «_Q1», и он работал как шарм.

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

Обновлен JSFiddle: https://jsfiddle.net/foodiepanda/2ec7d6fz/11/

...