使用d3js时发生转换错误

Transition error while using d3js

本文关键字:转换 错误 d3js 使用      更新时间:2023-09-26

嗨,我正在使用此代码制作条形图/堆叠条形图

bars.append('rect')
    .attr('height', axes.ver.scale.rangeBand())
    .attr('width', 0)
    .attr('x', function (d, i) { var value = axes.hor.scale(csum[i]); csum[i] += d.value; return value; })
    .attr('y', function (d) {return axes.ver.scale(d.name); })
    .classed('cr_' + uv.util.formatClassName(self.categories[idx]), true)
    .style('stroke', 'none')
    .style('fill', color)
    .on('mouseover', uv.effects.bar.mouseover(self, idx))
    .on('mouseout', uv.effects.bar.mouseout(self, idx))
    .transition()
        .duration(uv.config.effects.duration)
        .delay(idx * uv.config.effects.duration)
        .attr('width', function (d,i) { return axes.hor.scale(csum[i]) - axes.hor.scale(csum[i]-d.value); });

我附加了一个鼠标悬停事件,它可以更改悬停时的颜色。我的问题是,当我的图表正在渲染时,同时我将鼠标悬停在当前渲染栏上,它就无法正确渲染。我已经链接了屏幕截图,错误是出现了一个缺口。

http://db.tt/ng1akZDy

请告诉我我做错了什么。

不知道问题是否完全相同。尝试将其添加到您的CSS或行内样式中:

pointer-events: all;

https://stackoverflow.com/a/9210392/731179