發生此問題的原因是,您在一個圖表上有shared: true
,而另一個圖表上有默認(false)。這是一個問題,因爲tooltip.refresh
方法將採用不同的路徑,並根據共享設置爲true或false的圖表以不同方式使用輸入。
你可以找到這個分支in the source code上線8806,爲tooltip.refresh
方法:
// shared tooltip, array is sent over
if (shared && !(point.series && point.series.noSharedTooltip)) {
....
}
// single point tooltip
else {
....
}
你可以做你的syncTooltip
方法來處理不同的情況下,像這樣(example JFiddle)內的分支處理這個問題:
function syncTooltip(container, p) {
var i = 0;
for (; i < charts.length; i++) {
if (container.id != charts[i].container.id) {
if(charts[i].tooltip.shared) {
charts[i].tooltip.refresh([charts[i].series[0].data[p]]);
}
else {
charts[i].tooltip.refresh(charts[i].series[0].data[p]);
}
}
}
}
通過這種方式,您可以在兩個圖表上自由設置共享爲true或false。
不幸的是,您的plotOptions.series.point.events.mouseOver
-event不會捕獲通過shared: true
功能「選擇」的點,因此您將不得不找到備用事件來正確捕獲這種情況。
@laaposto,對不起,修正。 –