首页 > 解决方案 > d3.js 附加圆圈时缺少第一个索引

问题描述

我不熟悉使用 D3 并再次运行 - 遇到了一些麻烦。我正在一个小型网络上工作,在这种情况下没有力量。现在我遇到了问题,当添加我的圈子(我的节点)时,他跳过了第一个索引,我不知道如何解决这个问题。

你可以在这里找到我的完整代码: https ://github.com/katjalennartz/ba

在这里,我还有所有的数据

    var circleGroup = svg.selectAll('g')
        .data(users)
        .enter().append('g')
        .attr('transform', function (d) {
            console.log(d) //index 0 ist still there
             return 'translate(' + d.x + ',' + d.y + ')'; })
        .call(d3.drag()
            .on("start", dragstarted)
            .on("drag", dragged)
            .on("end", dragended));

这就是它失踪的地方

        .attr("r", function (d) {
            //increase radius if current user
            //index 0 is missing ?
            if (d.id === thisuser) {  
                return radius * 2 
            }
            else { return radius; }
        })
        .attr("class", "chara")
        .attr("fill", function (d) {
            //set color to red if this user
            let color
            (d.id === thisuser) ? color = "red" : color = "blue"
            return color;
        })
        .style("stroke", "#ffffff");

所以,我不知道该怎么办,我希望这里有人可以帮助我解决它。

如果它对代码很重要,我打算使用更新等来过滤链接。

谢谢!

标签: d3.js

解决方案


推荐阅读