NVD3 工具提示指针在更新图表数据后不更新位置
NVD3 tooltip pointer not updating position after updating chart data
我正在使用 NVD3 库绘制图形。我正在使用交互式指南,由于某种原因,在我更新图表数据 + 图表后,工具提示指针停留在旧位置。
当我更新数据时,我这样做:
chartData.datum(data).call(chart);
除了工具提示指针的位置外,一切都更新得很好。他们似乎被困在旧位置。我也试过这样称呼:
chart.update();
我注意到在调整 window 大小时并调用 chart.update() 时,指针设置到正确的位置。
有人知道如何解决这个问题吗?
你能post关于这个问题的更多描述吗...因为以前我有同样的..覆盖了nvd3工具提示功能
`this._nvctp = nv.tooltip.calcTooltipPosition;
nv.tooltip.calcTooltipPosition = this.calcTooltipPosition;
calcTooltipPosition : function() {
this.findTotalOffsetTop = function(a, b) {
return 0;
};
this.findTotalOffsetLeft = function(a, b) {
return 0;
};
arguments[0] = [ window.event.pageX, window.event.pageY ];
var p = nvk.tooltip._nvctp.apply(this, arguments);
p.style.left = (window.event.clientX - (p.clientWidth / 2))
+ 'px';
p.style.top = (window.event.clientY - (p.clientHeight * 1.2))
+ 'px';
p.style.opacity = 1;
p.style.position = 'fixed';
return p;
}
找到了!我显然必须添加 transition().duration(500);
所以为了更新图表,我称之为:
chartData.datum(data)
.transition().duration(500)
.call(chart);
我正在使用 NVD3 库绘制图形。我正在使用交互式指南,由于某种原因,在我更新图表数据 + 图表后,工具提示指针停留在旧位置。
当我更新数据时,我这样做:
chartData.datum(data).call(chart);
除了工具提示指针的位置外,一切都更新得很好。他们似乎被困在旧位置。我也试过这样称呼:
chart.update();
我注意到在调整 window 大小时并调用 chart.update() 时,指针设置到正确的位置。
有人知道如何解决这个问题吗?
你能post关于这个问题的更多描述吗...因为以前我有同样的..覆盖了nvd3工具提示功能
`this._nvctp = nv.tooltip.calcTooltipPosition;
nv.tooltip.calcTooltipPosition = this.calcTooltipPosition;
calcTooltipPosition : function() {
this.findTotalOffsetTop = function(a, b) {
return 0;
};
this.findTotalOffsetLeft = function(a, b) {
return 0;
};
arguments[0] = [ window.event.pageX, window.event.pageY ];
var p = nvk.tooltip._nvctp.apply(this, arguments);
p.style.left = (window.event.clientX - (p.clientWidth / 2))
+ 'px';
p.style.top = (window.event.clientY - (p.clientHeight * 1.2))
+ 'px';
p.style.opacity = 1;
p.style.position = 'fixed';
return p;
}
找到了!我显然必须添加 transition().duration(500);
所以为了更新图表,我称之为:
chartData.datum(data) .transition().duration(500) .call(chart);