強制指向グラフを作成していますが、私が知る限り、コードは正しく記述されています。このコードを実行すると、DOM は正確に表示されます。それでも、何も表示されません。
var type_node_list = typeNodes(data);
shuffle(type_node_list);
initializePosition(type_node_list);
var links = typeLinks(type_node_list);
var svg = d3.select('#root');
var link = svg
.append('g')
.attr('id', 'links')
.selectAll('line')
.data(links)
.enter()
.append('line')
.attr('class', 'link');
var type_nodes = svg
.append('g')
.attr('id', 'nodes')
.selectAll('.node')
.data(type_node_list)
.enter()
.append(createTypeNode);
function updateTypeNodeLocations() {
link
.attr("x1", function(d){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;});
type_nodes
.attr('x', nodeX)
.attr('y', nodeY);
}
updateTypeNodeLocations();
/*
var position_the_types = d3.forceSimulation()
.nodes( type_node_list )
.force("charge",d3.forceManyBody().strength(-10))
;
position_the_types.on('tick',updateTypeNodeLocations());
*/
最初の部分を機能させようとしているので、シミュレーション部分はコメントアウトされています。コメントを外すと、処理が明らかに完了していないにもかかわらず、「tick」イベントが 1 回だけ呼び出されます。JavaScript コンソールには、それを説明するものは何もありません。
完全なコードについては、http://jsfiddle.net/jarrowwx/gof5knaj/36/を参照してください。
今朝はうまくいきましたが、何かが変わり、今は何もうまくいかないようです。D3 github を確認したところ、最後のコミットは 11 日前だったようで、ライブラリの変更が原因である可能性は低いです。
誰かが前にこのようなことを経験したことがありますか? 私が間違っていることについての指針はありますか?D3 バグを発見しましたか?