我正在使用visNetwork创建可视化文件 我希望这里有人帮助我逐步在R中创建可视化。我如何创建20个节点的可视化,并用边链接它们。谢谢
答案 0 :(得分:1)
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,如果要在节点旁边填充文本,则可以包含标签变量。我们刚刚指定了20个节点,从1到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')
希望有帮助!