Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用ggplot将geom_标签定位在网络外部?_R_Ggplot2 - Fatal编程技术网

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