我正在使用ggnetand创建一个网络样式图ggplot。目前我只是使用geom_label'snudge_y参数来定位标签。但我想知道是否可以定位标签,使它们始终位于圆圈的外部(我的网络始终是圆形的)。下面显示了一个玩具示例。
library(ggplot2)
library(igraph)
library(GGally) # contains ggnet2
nam <- c("A", "B", "C", "D", "E") # Node name
g <- sample_pa(5, m = 5) # generate graph with x nodes
g <- igraph::as_data_frame(g) # create df
g <- rbind(g$to,g$from) # create matrix
net.bg <- make_graph(g, 5, directed = FALSE) #make graph
E(net.bg)$weight <- sample(1:3, 5,replace=T)
V(net.bg)$size <- sample(1:5, 5,replace=T)
p <- ggnet2(net.bg,
mode = "circle",
size = V(net.bg)$size,
node.color = "red",
edge.size = E(net.bg)$weight,
edge.alpha = 0.5,
edge.color = "blue") +
theme(legend.text = element_text(size = 10)) +
geom_label(aes(label = nam),nudge_y = 0.05)
p
可以看出,标签都在 y 方向上轻推。但我希望制作这样的东西(我在 powerpoint 中制作的):

有可能做这样的事情吗?

