我是igraph
的新手,无法弄清楚如何均匀分布标签以使其可读:
给出以下向量:
v<-c("ES1-3", "ES4-6", "ES4-6", "ES6-8", "ES6-8", "ES7-9", "ES7-9",
"ES10-12", "ES10-12", "ES13-15", "ES13-15", "ES16-18", "ES16-18",
"ES19-21", "ES19-21", "ES22-24", "ES22-24", "ES25-27", "ES25-27",
"ES28-30", "ES28-30", "ES31-33", "ES31-33", "ES34-36", "ES34-36",
"ES37-38", "ES13-15", "SA1-3", "SA1-3", "SA4-6", "SA4-6", "SA7-9",
"SA7-9", "SA10-12", "SA10-12", "SA13-15", "SA13-15", "SA16-18",
"SA16-18", "SA19-21")
我最好的避免标签重叠的代码是:
g1 <- make_graph( edges=v)
plot(g1,
edge.arrow.size=0.5,
vertex.color='orange',
vertex.size=7,
vertex.frame.color="orange",
vertex.label.color="black",
vertex.label.cex=0.8,
vertex.label.dist=1,
edge.curved=T)
结果如下图所示:
答案 0 :(得分:1)
您正在寻找主要使用两个参数的游戏-
edge.arrow.size
-箭头的大小。当前,这是一个常数,因此每个边都相同。如果提交了矢量,则仅使用第一个元素。如果这是从edge属性获取的,那么所有箭头仅使用第一个edge的属性vertex.label.cex
-边缘标签的字体大小因此,如果将其更改为-
plot(g1,
edge.arrow.size=0.3,
vertex.color='orange',
vertex.size=7,
vertex.frame.color="orange",
vertex.label.color="black",
vertex.label.dist=1,
vertex.label.cex=0.5,
edge.curved=T)
它变得更清洁-
查找整套参数here