【发布时间】:2015-04-26 21:56:14
【问题描述】:
我需要绘制一个所有边都容易发现的图(上面有标签),但是“igraph”包完全重叠了连接两个顶点的边,但不共享源和汇。
这是一个例子。我发现 layout.circle 很有用,因为我需要修复图形的顶点。
library("igraph")
Edges <- data.frame(from = c(1, 2, 2, 2, 3, 3),
to = c(2, 1, 3, 3, 1, 1))
g <- graph.edgelist(as.matrix(Edges))
plot(g, layout = layout.circle(g, params = list(root = 1)),
edge.label = letters[1:6])
如您所见,边 #1 和 #2 完全重叠。
我尝试使用edge.curved 选项,但结果同样令人失望:
plot(g, layout = layout.circle(g, params = list(root = 1)), edge.label = letters[1:6],
edge.curved = TRUE)
现在有两对边缘重叠,无法识别。 你知道有什么方法可以帮助我吗? 提前致谢
【问题讨论】:
-
“反转源和汇顶点”是指同一对顶点之间的相反方向的边?因为在您的图表中,这不是您所拥有的。你有两次完全相同的边缘,至少在 (2,3) 和 (1,3) 之间。这就是为什么标签最终会彼此重叠。
-
第一个示例显示了我需要修复的问题,其中边缘 1-> 2 和 2->1 重叠。另一个例子表明 edge.curved 的解决方案不起作用。