ばかげた質問かもしれませんが、私は d3 初心者です。ソース リンクの重みに基づいて、フォース レイアウトで円の半径を変更しようとしています。tick 関数内で d.source.weight にアクセスできるのに、他の場所ではアクセスできないのはなぜですか?
例えば
force.on("tick", function() {
link.attr("x1", function(d) {console.log(d.source.name + " " + d.source.weight; return d.source.x; })
.attr("y1", function(d) { return d.source.y; })
.attr("x2", function(d) { return d.target.x; })
.attr("y2", function(d) { return d.target.y; });
コンソールに正しい値を返しますが、円を追加するときにこれらのプロパティにアクセスできないのはなぜですか?
node.append("circle")
.attr("class", "node")
.attr("r", function(d) {return d.source.weight * 2;}); // breaks
これはd3の質問というよりも基本的なjavascriptの質問のように感じますが、あまり助けが見つかりません. どんな助けでも大歓迎です。