我正在使用visNetwork在中创建可视化,我希望这里的某个人帮助我一步一步地在R中创建可视化。如何创建20个节点的可视化,并将它们的边连接起来。谢谢
发布于 2019-05-25 09:37:29
visNetwork依靠数据帧来指示节点名称和id,以及连接到相关节点的边。20个节点的最小示例如下:
library(shiny)
library(visNetwork)
nodes <- data.frame(id = 1:20, label = 1:20)
edges <- data.frame(from = c(1:20), to = c(2:20,1))
server <- function(input, output, session) {
output$myNetId <- renderVisNetwork({
visNetwork(nodes, edges)
})
}
ui <- fluidPage(
visNetworkOutput("myNetId",
height <- "400px",
width <- "600")
)
shinyApp(ui <- ui, server <- server)一步一步地,在导入所需的两个库之后,我们指定节点data.frame,如果您希望在节点旁边填充文本,它可以包含一个标签变量。我们刚刚指定了从1到20的20个节点。
edges变量表示一个边列表,data.frame中的每一行都表示单个边的起点和终点。一个看起来像这样的data.frame:
data.frame(from = c(1,1), to = c(2,3))..。将产生从节点#1到节点#2和节点#3的两条边。我已经对其进行了设置,以便每个节点都像圆一样连接到下一个连续的节点。
服务器是一个shinyApp对象,它使用"myNetId“作为visNetwork应该如何操作的引用,而ui中的visNetworkOutput()函数充当一个画布,指示网络应该在屏幕上的什么位置显示。您可以使用>%>将其他参数添加到visNetwork()函数,如下所示:
visNetwork(nodes, edges) %>%
visPhysics(solver = "barnesHut",
minVelocity = 0.1,
forceAtlas2Based = list(gravitationalConstant = -150)) %>%
visOptions(manipulation = TRUE, highlightNearest = FALSE) %>%
visEdges(arrows = 'to')希望这能有所帮助!
https://stackoverflow.com/questions/56091963
复制相似问题