Igraph圆圈布局:调整反射边缘标签的外观

时间:2013-11-25 01:15:19

标签: plot igraph

我将这个数字用'igraph包的layout.circle算法绘制。

enter image description here

由于放置在节点间边缘后面,因此左侧自环带的一些标签不清晰可见。我是否可以应用任何调整来提高绘图的可读性而不改变标签的距离? (我想在不重新编码整个事物的情况下,在圆的径向矢量上绘制循环是不可能的......)

这是代码

par(mar=c(0,0,0,0))
plot(g, 
     layout=layout.circle,
     vertex.label.family="Palatino",
     edge.label.family="Palatino",
     edge.label.cex=0.7,
     vertex.size=log(V(g)$community_size)+7,
     vertex.label=V(g)$community_size,
     edge.width=log(E(g)$weight),
     edge.label=E(g)$weight)

1 个答案:

答案 0 :(得分:5)

将相同的图形绘制两次,首先绘制边缘,但没有标签,然后没有边缘和顶点以及标签。一些有用的部分:

  • 对于第二个图,请使用add=TRUE
  • 要省略边缘,请将其宽度设置为零。
  • 要省略顶点,请将其形状设置为none
  • 要省略边缘标签,请将它们设置为NA或空字符串。

修改

要修复布局,请预先计算并将其存储在变量中:

  lay <- layout.circle(g)
  plot(g, layout=lay, ...)
  plot(g, add=TRUE, layout=lay, ...)