Highcharts по клику на общую колонку не выделяет все серии, входящие в эту колонку

У меня есть график, колонки в котором состоят из двух серий данных. После клика на одну из серий, я пытаюсь обозначить обе как выбранные, т.е чтобы вся колонка подсвечивалась как выбранная.

Демо: https://jsfiddle.net/alyonium/hbnokef2/10/

JS:

Highcharts.chart('container', {
    chart: {
        type: 'column'
    },
    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },

    plotOptions: {
        series: {
            stacking: 'percent',
            allowPointSelect: true,
        },
    },

    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
    }, {
        data: [144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2]
    }]
});

Чего я пытаюсь добиться: https://i.stack.imgur.com/eT7Gj.png

Нашла похожий вопрос https://overcoder.net/q/3719125/%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%B8%D1%85-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B9-%D0%B2-highcharts

Но в моем графике ничего не меняется после внедрения этого участка в код


Ответы (1 шт):

Автор решения: teran

в вашем коде, со сравнению с тем, на который вы ссылаетесь есть 2 ошибки. Во-первых, сказано, что требуется отключить allowPointSelect, то есть установить значение false.
во-вторых, point: {...} должен быть не в plotOptions сразу, а в plotOptions.series. Так что в итоге, конечная конфигурация будет иметь вид

plotOptions: {
    series: {
        stacking: 'percent',
        allowPointSelect: false,            
        point: {
            events: {
                click: function() {
                    var clickedPoint = this,
                        chart = clickedPoint.series.chart;                        

                    chart.series.forEach(function(s) {
                        s.points.forEach(function(p) {
                           if(p.x == clickedPoint.x) {                          
                               p.select(true, true);
                           }
                       });
                    });
                },
            },
        },
    },         
},
→ Ссылка