javascript - 一组矩形的 D3.js 过渡

标签 javascript d3.js transition visualization

这是我的问题,我想使用 d3.js 的 transition() 方法,但对于一组我不知道大小的矩形。

例如:一开始我有 2 个矩形,然后是 3 个,然后是 4 个,然后是 2 个。

在这种情况下我可以使用 transition() 吗?如果是这样,最好的方法是什么?

提前致谢

最佳答案

我使用不可见的矩形在图表中提供良好的悬停效果。因此,在创建矩形时,我只需为它们分配一个类。更新时,我首先删除该类的元素,然后重复该过程。

tmpsvg = svg.transition();
g = tmpsvg.select('g');//prefer to refer by classname

g.selectAll(".bar-rect").remove();
var rect = g.selectAll(".bar-rect")
    .data(data)
    .enter().append("svg:rect")
    .attr("class", "bar-rect")
    .attr("x", function(d, i) { return x(d.key)-10; })
    .attr("y", 0)
    .attr("width", "20px")
    .attr("height", h)
    .on("mouseenter", function(d, i) {
       //TOOLTIP EFFECTS ON MOUSE-ENTER
                $('#myls'+i).animate(  {opacity:1 },100);
                 $('.chart-tooltip[data-index='+i+']').addClass('hover');
        // Add hover class to the targeted point
    }).on("mouseleave", function(d, i) {
//REMOVE TOOLTIP EFFECT ON MOUSE-LEAVE
            $('#myls'+i).animate(  {opacity:0 },100);
            $('.chart-tooltip').removeClass('hover');
            // Remove hover class from the targeted point

        });

这可能不是最有效的方法,但希望它有所帮助。

关于javascript - 一组矩形的 D3.js 过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32570295/

相关文章:

javascript - JQuery 将鼠标悬停在完整的 div 上

javascript - 如何使用 d3.js 将标题置于 SVG 图表的中心?

jquery - 在鼠标悬停时使顶部元素淡出和底部元素淡入,然后在鼠标停止悬停后使顶部元素淡入?

android - 使用动画启动 Activity

javascript - 有没有办法最终添加到现有的 promise 中?

javascript - Switch 语句可以与退格键配合使用,而 if 语句则不能吗?

javascript - jquery 兄弟属性

html - 如何使用 d3.domain 从 JSON 文件的多个列中获取 d3.min 和 d3.max?

javascript - 语法错误: JSON.解析: bad control character in string literal at line 2 column 14 of the JSON data with d3. js

jquery - 如何使用 CSS 将背景颜色淡入淡出过渡到 Bootstrap 页面?