使用共享工具提示时,Highcharts 柱形图在单击时返回不正确的系列索引
Highcharts column chart returning incorrect series index on click when using shared tooltip
这是我的代码:
$(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]
}]
});
});
这是fiddle:http://jsfiddle.net/a9mp9vhj/1/
单击第一列的顶部,您将看到消息:"column index: 0" 这是正确的。点击第一列的中间或底部,你会看到其他索引。
如果您将工具提示设置为不共享,一切都会开始工作。
是 Highcharts 的错误吗?如何使用共享列获取正确的列索引?
Highcharts 似乎没有考虑点击的 x 值,只查看点击位置的 y 值(如果点击 "correct" 身高).
似乎event.target.point
是正确的,而event.point
(或this
)则不是。作为 Highcharts 当前工作 (JSFiddle example),此解决方法如何用于获取正确 columnIndex
的示例:
plotOptions: {
series: {
point: {
events: {
click: function(event) {
alert("column index: " + event.target.point.series.columnIndex);
}
}
}
}
}
这是我的代码:
$(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]
}]
});
});
这是fiddle:http://jsfiddle.net/a9mp9vhj/1/
单击第一列的顶部,您将看到消息:"column index: 0" 这是正确的。点击第一列的中间或底部,你会看到其他索引。
如果您将工具提示设置为不共享,一切都会开始工作。
是 Highcharts 的错误吗?如何使用共享列获取正确的列索引?
Highcharts 似乎没有考虑点击的 x 值,只查看点击位置的 y 值(如果点击 "correct" 身高).
似乎event.target.point
是正确的,而event.point
(或this
)则不是。作为 Highcharts 当前工作 (JSFiddle example),此解决方法如何用于获取正确 columnIndex
的示例:
plotOptions: {
series: {
point: {
events: {
click: function(event) {
alert("column index: " + event.target.point.series.columnIndex);
}
}
}
}
}