изменить сторону вершины диаграммы сети d3 в пакете d3network?

Поскольку текущая функция d3forcenetwork не принимает параметр для изменения размера вершины / узла, я поискал пакет и обнаружил, что MainForceJS () контролирует макет, и попытался его изменить.

Однако, когда я пытаюсь переопределить приведенный ниже раздел, атрибут размера ('r') в классе круга показал значение NaN.

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

to

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

Я тоже пробовал, но консоль показывала undefined для этих кругов.

.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


person Xiushi Le    schedule 02.11.2014    source источник


Ответы (1)


Я понял, что мне также нужно обновить NodesDF в функции ForceNetwork (), иначе атрибут размера будет неизвестен d3. Я собираюсь загрузить новую версию на github, чтобы люди могли найти рабочий пример.

  NodesDF <- data.frame(Nodes[, NodeID], Nodes[, Group], Nodes[, Size])
  names(NodesDF) <- c("name", "group","size")
person Xiushi Le    schedule 02.11.2014