R 使用ggplot将geom_标签定位在网络外部?
我正在使用R 使用ggplot将geom_标签定位在网络外部?,r,ggplot2,R,Ggplot2,我正在使用ggnet和ggplot创建网络样式的绘图。目前,我只是使用geom_label的轻推y参数来定位标签。但我想知道是否有可能定位标签,使其始终位于圆圈的外侧(我的网络始终是圆形的)。下面显示了一个玩具示例 library(ggplot2) library(igraph) library(GGally) # contains ggnet2 nam <- c("A", "B", "C", "D", &q
ggnet
和ggplot
创建网络样式的绘图。目前,我只是使用geom_label
的轻推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
库(ggplot2)
图书馆(igraph)
图书馆(GGALY)#包含ggnet2
nam这是可能的,尽管不是特别容易或便携。对象p
是ggplot对象,因此包含构建坐标、几何、地图、数据等绘图所需的所有信息
这意味着您可以直接更改标签
图层,使其x、y坐标比以前的值高出一个小倍数。所以你可以做:
geoms