ggraph 节点标签被截断

ggraph node labels truncated

我使用 ggraph 生成了一个非常简单的带有圆形布局的网络图。节点标签的角度沿着圆圈的边缘变化,以便于阅读。但是,标签被截断并且调整边距似乎没有任何区别。我玩过 ggsave、egg 并没有太多的乐趣。

这是我的可重现代码。也许有人可以帮助我。提前致谢:

# load network packages

require(tidygraph)
require(igraph)

# fetch data from github

githubURL <- "https://github.com/aterhorst/data/raw/master/network.RDS"
network <- readRDS(url(githubURL))

# compute label angles

require(pracma)

lo <- layout.circle(network)
angle <- as_tibble(cart2pol(lo)) %>% mutate(degree = phi * 180/pi)

# generate plot

require(ggraph)

ggraph(network, layout = "circle") +
geom_edge_link() +
geom_node_point() +
geom_node_text(aes(label = name), 
               size = 2, 
               hjust = ifelse(lo[,1] > 0, -0.2, 1.2),
               angle = case_when(lo[,2] > 0 & lo[,1] > 0 ~ angle$degree, 
                                 lo[,2] < 0 & lo[,1] > 0 ~ angle$degree,
                                 lo[,1] == 1 ~angle$degree,
                                 TRUE ~ angle$degree - 180)) +
theme_graph()

droping theme_graph(),我发现 x 和 y 的轴都是 -1 到 1,而且它似乎不符合标签。所以我添加了 coord_cartesian() 来扩展情节的限制。已将以下内容添加到 ggraph()

+ coord_cartesian(xlim=c(-1.2,1.2), ylim=c(-1.2,1.2))