Новые узлы невидимы, но старые узлы видны - PullRequest
0 голосов
/ 15 октября 2019

Узлы, загруженные из данных в начале симуляции, видны.

Я добавил кнопку для добавления узлов из остальной части набора данных, и эти узлы, хотя и присутствуют, невидимы.

Я знаю, что они присутствуют, потому что они образуют связи с 1 кружком в одномконец и ничего на другом конце.

невидимые узлы

Я думаю, что это возможно, потому что я объединяю объявления переменных с помощью узла и круга, честно говоря, я понятия не имею. Любая помощь приветствуется.

//Data-loading function
        var node = svg.append("g")
            .attr("class", "nodes")
            .selectAll("g")
            .data(nodes)
            .enter().append("g")

          var circles = node.append("circle")
            .attr("r", 5)
            .on('click', mousedown)
            .call(d3.drag()
              .on("start", dragstarted)
              .on("drag", dragged)
              .on("end", dragended));

          simulation
             .nodes(nodes)
             .on("tick", ticked);

          function ticked() {
             circles
               .attr("cx", function (d) {return d.x;})
               .attr("cy", function (d) {return d.y;})
        }

    //restart function
          function restart() {
            node = svg.selectAll("circles").data(nodes, function(d) {return d;});

            node.exit().remove();

            node.enter().append("circle")
              .attr("class", "nodes")
              .merge(node);

            simulation.nodes(nodes);

    }//end of restart function


    const addData = () => {
          nodes.push(restOfData.shift());
          restart();
          console.log(nodes);
        };


        document.getElementById('addData')
          .addEventListener('click', addData);

Я оставил код для краткости. полный код здесь: https://github.com/spoonerFish/d3_fifa/blob/master/adding_Nodes

...