Как я могу визуализировать сеть networkDynamic, используя механизм рендеринга MDSJ в R?

Я хотел бы визуализировать динамическую сеть в R, используя быструю библиотеку MDSJ. К сожалению, однако, все координаты вершин кажутся 0,0 используя этот движок рендеринга, что не имеет место при использовании одного из других макетов (kamadakawai или же Graphviz, Если вы вставите приведенный ниже код, вы сможете воспроизвести проблему.

if (!require("pacman")) install.packages("pacman")
library("pacman")
pacman::p_load(network, networkDynamic, ndtv)

#animation.mode = "MDSJ"
#animation.mode = "Graphviz"
animation.mode = "kamadakawai"
people <- c("A","B","C","D","E")
documents <- paste0("a",1:10)
edges <- data.frame(from   = c("A","A","A","B","B","C","D"),
                    to     = c("a1","a2","a3","a4","a5","a1","a1"),
                    active = c(1,2,3,3,4,4,4))
net <- network.initialize(0, directed = TRUE, bipartite = length(people))

add.vertices.networkDynamic(net, 5, vertex.pid = people)
add.vertices.networkDynamic(net, 10, vertex.pid = documents)

net %v% "vertex.names" <- c(people, documents)
net %v% "vertex.col"   <- c(rep("blue", length(people)), rep("gray", length(documents)))
set.network.attribute(net,'vertex.pid','vertex.names')

add.edges.networkDynamic(net,
                         tail = get.vertex.id(net, edges[[1]]),
                         head = get.vertex.id(net, edges[[2]]),
                         edge.pid = paste0(edges[[1]], "->", edges[[2]]))
activate.edges(net, e =  1:7, at = edges[[3]])
reconcile.vertex.activity(net = net, mode = "encompass.edges", edge.active.default = FALSE)

slice.par <- list(start = 1, end = 4, interval = 1, aggregate.dur = 2, rule = "earliest")
compute.animation(net,
                  animation.mode = animation.mode,
                  slice.par = slice.par)
render.d3movie(net,
               slice.par = slice.par,
               displaylabels = TRUE,
               output.mode = "htmlWidget",
               vertex.col = 'vertex.col')

Используя kamadakawai, можно получить динамическое представление, подобное этому:

введите описание изображения здесь

Используя MDSJ, все слайды выглядят так:

введите описание изображения здесь

1 ответ

Этот код работает в моей системе с MDSJ. Правильно ли он установлен на вашем? При первом использовании он должен загрузить и установить приложение Java mdsj.jar.

Другие вопросы по тегам