使用共享工具提示时,单击Highcharts柱形图会返回不正确的序列索引

Highcharts column chart returning incorrect series index on click when using shared tooltip

本文关键字:不正确 返回 索引 柱形图 Highcharts 共享 工具提示 单击      更新时间:2023-09-26

这是我的代码:

$(function () {
    $('#container').highcharts({
        chart: {
            type: 'column'
        },
        tooltip: {
            shared: true
        },
        plotOptions: {
             series: {
                 cursor: 'pointer',
                 point: {
                     events: {
                         click: function() {
                             alert("column index: " + this.series.columnIndex);
                         }
                     }
                 }
             }
        },
        series: [{
            name: 'Tokyo',
            data: [216.4, 194.1]
        }, {
            name: 'New York',
            data: [91.2, 83.5]
        }, {
            name: 'London',
            data: [52.4, 65.2]
        }, {
            name: 'Berlin',
            data: [47.6, 39.1]
        }]
    });
});  

这是小提琴:http://jsfiddle.net/a9mp9vhj/1/

单击第一列的顶部,您将看到消息:"列索引:0",这是正确的。单击第一列的中间或底部,您将看到其他索引。

如果将工具提示设置为不共享,则一切都会开始工作。

是Highcharts错误吗?如何使用共享列获得正确的列索引?

Highcharts似乎没有考虑点击的x值,只关注点击位置的y值(如果点击的高度"正确",你可以获得每个索引)。

似乎event.target.point是正确的,而event.point(或this)不是。这个变通方法如何在Highcharts当前工作时用于获得正确的columnIndex的示例(JSFiddle示例):

plotOptions: {
     series: {
         point: {
             events: {
                 click: function(event) {
                     alert("column index: " + event.target.point.series.columnIndex);
                 }
             }
         }
     }
}