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
Но в моем графике ничего не меняется после внедрения этого участка в код
Ответы (1 шт):
в вашем коде, со сравнению с тем, на который вы ссылаетесь есть 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);
}
});
});
},
},
},
},
},