r - ggraph 弧形图剪辑标签文本
问题描述
我正在使用igraph
andggraph
包来绘制圆弧图。我在使用geom_node_text
参数时遇到问题,因为随着文本标签长度的增加,图形下边距不会相应增加。因此,如果一个节点的标签有点长,它最终会从图中被剪掉。
karate
这是使用包中的示例数据的可重现示例igraphdata
。
data(karate)
ggraph(karate, layout="linear")+
geom_edge_arc(aes(edge_width=weight), edge_alpha=0.5, fold=T)+
geom_node_point(aes(size=strength(karate), color=as.factor(color)))+
geom_node_text(aes(label=name), angle=90, hjust=1, nudge_y = -0.2, size=4)+
theme_void()+theme(legend.position = "none")
我已经尝试通过 更改绘图边距,theme(plot.margin=)
但无论如何标签都会被剪掉。
解决方案
您可以coord_cartesian(clip = "off")
在情节中设置并扩大情节边距:
data(karate)
ggraph(karate, layout = "linear") +
geom_edge_arc(aes(edge_width = weight), edge_alpha = 0.5, fold = TRUE) +
geom_node_point(aes(size = strength(karate), color = as.factor(color))) +
geom_node_text(aes(label = name), angle = 90, hjust = 1, nudge_y = -0.2, size = 4) +
coord_cartesian(clip = "off") +
theme_void() +
theme(legend.position = "none", plot.margin = unit(rep(30, 4), "points"))