0

現在の d3forcenetwork 関数は、頂点/ノードのサイズを変更するパラメーターを受け入れないため、パッケージを検索したところ、MainForceJS() がレイアウトを制御していることがわかり、それを変更しようとしました。

しかし、以下のセクションをオーバーライドしようとすると、circle クラスの size 属性 ('r') が NaN 値を示しました。

node.append(\"circle\")
.attr(\"r\", 6)

node.append(\"circle\")
.attr(\"r\", function(d) { return d.size;})

私も試しましたが、コンソールはこれらの円に対して未定義を示しました。

.attr(\"r\",function(d) { console.log(d); console.log(d.size) })

MainForceJS() 関数の元のコードは次のとおりです

github で最小限の例を作成しました。 MainForceJS() 関数は override.R にあり、実行のために server.R または ui.R を実行します。

https://github.com/happyshows/d3test

4

1 に答える 1

0

ForceNetwork() 関数で NodesDF も更新する必要があることに気付きました。そうしないと、サイズ属性が d3 に認識されなくなります。人々が実際の例を見つけられるように、新しいバージョンを github にアップロードします。

  NodesDF <- data.frame(Nodes[, NodeID], Nodes[, Group], Nodes[, Size])
  names(NodesDF) <- c("name", "group","size")
于 2014-11-02T02:46:50.447 に答える