我在阅读/创建有向图时遇到问题。我按照我找到的步骤进行操作here http://www.ats.ucla.edu/stat/r/faq/snplot.htm.
这是我的文本文件图.txt:
1 2
1 3
2 5
3 4
3 5
4 5
5 6
5 10
6 7
7 8
7 9
7 12
8 9
9 10
9 11
9 12
10 11
11 7
11 12
现在我读到了这个图.txt:
library("igraph")
xlist<-read.graph("graph.txt", format="edgelist")
然后我绘制它:
plot(xlist)
但这不是我读入 xlist 的图表:
正如您所看到的,1->2、1->3、5->10 等之间没有边。如何正确读取有向图?
完成此操作后,如何显示两个节点之间的所有最短路径?
这似乎对我来说效果很好:
xlist<-read.table("graph.txt")
xlist <- graph.data.frame(xlist)
plot(xlist)
Note R
更改节点并将它们从零向上索引(不是在最近的igraph
更新为@Sacha Epskamp 下面的评论)。
使用:
plot(xlist, vertex.label= V(xlist)$name)
你会看到你想要的名字。即 1 和 2 之间的边。
绘制最短路径的一种方法是使用get.all.shortest.paths
然后用它来子集你的图表并覆盖它。看我的回答这个问题 https://stackoverflow.com/a/13439030/1317221对于类似的例子,我绘制了生成树。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)