如何在r

时间:2019-08-07 15:14:07

标签: r igraph visnetwork

我正在尝试使用r中的visNetwork软件包制作网络图。我在尝试使节点标签与节点大小成比例时遇到问题。我知道节点大小由size中的列nodes控制。但是标签尺寸呢?

另一个问题。 idToLabel是做什么的?我试图使它为TRUE或FALSE,网络图没有任何区别。

非常感谢。

这是示例代码。

library(visNetwork)
nodes <- data.frame(id = 1:10, 
                    label = paste("Node", 1:10),                                 # labels
                    group = c("GrA", "GrB"),                                     # groups 
                    value = 1:10,                                                # size 

                    title = paste0("<p><b>", 1:10,"</b><br>Node !</p>"),         # tooltip
                    color = c("darkred", "grey", "orange", "darkblue", "purple"),# color
                    shadow = c(FALSE, TRUE, FALSE, TRUE, TRUE))                  # shadow

edges <- data.frame(from = sample(1:10,8), to = sample(1:10, 8),
                    label = paste("Edge", 1:8),                                 # labels
                    length = c(100,500),                                        # length
                    arrows = c("to", "from", "middle", "middle;to"),            # arrows
                    dashes = c(TRUE, FALSE),                                    # dashes
                    title = paste("Edge", 1:8),                                 # tooltip
                    smooth = c(FALSE, TRUE),                                    # smooth
                    shadow = c(FALSE, TRUE, FALSE, TRUE))                       # shadow

visNetwork(nodes, edges, physics=T, idToLabel=T) 

2 个答案:

答案 0 :(得分:0)

根据此answer,您可以通过设置font.size来控制标签大小,例如:

nodes <- nodes %>% mutate(font.size = (1:10)*3)

关于第二个问题:idtolabel定义是将顶点ID用作标签还是指定的节点标签(请参见here)。

答案 1 :(得分:0)

您可以这样:

visNetwork(nodes, edges, physics=T, idToLabel=T)%>%
  visNodes(size = 10)