如果任何人碰到這個運行(這實際上是不可能的),我的問題下面的代碼添加的行追查到「mouseover_line」事件(以下注釋掉):
function mouseover_line(evt) {
var yaxis = data[evt.seriesIndex].yAxis === 2 ? yAxis2 : yAxis1;
// evt.series.values[evt.pointIndex].x = d3.time.format('%x')(new Date(evt.point.x));
// evt.series.values[evt.pointIndex].y = d3.format(',')(evt.point.y);
evt.value = evt.point.x;
evt.series = {
value: evt.point.y,
color: evt.point.color,
key: evt.series.key
};
tooltip
.duration(0)
.valueFormatter(function(d, i) {
return yaxis.tickFormat()(d, i);
})
.data(evt)
.hidden(false);
}
我添加這些行以修復懸停在線圖上的標籤(我的折線圖具有日期時間x軸和逗號分隔的整數y軸)。在添加這些行時,看起來需要額外的處理時間,導致每當您打開/關閉一個系列時,這些線條都會隨意繪製。
不太確定導致問題的機制是什麼,但這些行是根本原因。
你可以發佈圖表的代碼?最好在jsfiddle或類似的東西。 – johanj