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);