我試圖確保某些節點總是呈現在其他節點之上,並且很難做到這一點。這可能嗎?渲染網絡頂部的節點
我使用visNetwork有光澤,想要visIgraph爲DRL佈局。當igraph繪製數據中出現的節點時,可以單獨使用igraph將節點渲染到其他節點的頂部;這似乎不是與visNetwork的情況下
在下面的代碼中,我希望組的'其他組'總是呈現在'藍色組'上面;較小的節點將被渲染到較大的節點之上。
require(shiny)
require(visNetwork)
require(igraph)
require(gplots)
nodes <- data.frame(id = 1:1000, color=colors()[350:449], stringsAsFactors=FALSE)
nodes$group <- ifelse(grepl('blue',nodes$color), 'Blue Group', 'Other Group')
nodes$color <- col2hex(nodes$color)
nodes$color.background <- nodes$color
edges <- data.frame(from = sample.int(1000,1500,replace=TRUE)
, to = sample.int(1000,1500,replace=TRUE))
g=graph_from_data_frame(edges, directed=FALSE, vertices=nodes)
server <- function(input, output) {
output$network <- renderVisNetwork({
# minimal example
withProgress(message = 'Making plot', value = .5, {
visIgraph(igraph=g, layout = "layout_with_drl", randomSeed = 1
, idToLabel=FALSE, type='square') %>%
visGroups(groupname = "Blue Group", value=5) %>%
visGroups(groupname = "Other Group", value=3)
})
})
}
ui <- fluidPage(
visNetworkOutput("network")
)
shinyApp(ui = ui, server = server)
在此先感謝。