从邻接矩阵绘制图形

时间:2014-02-11 13:47:02

标签: r graph igraph

我有一个邻接矩阵格式的图表:

https://dl.dropboxusercontent.com/u/22681355/network.csv

第一列中的节点连接到第二列中的相应节点。

是否可以将此图表转换为可以直观显示的格式?

2 个答案:

答案 0 :(得分:1)

试试这个:

 #use igraph for example
 library(igraph)

 #get your data into x
 x <- read.table("~/Downloads/network.csv", sep=";", quote="\"")
 x <- as.matrix(x)
 a <- numeric(0)
 for(i in 1:nrow(x)){
   a <- c(a, x[i,])
 }

 #plot it
 b <- graph(a)
 plot.igraph(b, edge.arrow.size=0.05, vertex.size = 5, vertex.label.cex = 0.5)
 #or tree
 plot.igraph(b, layout=layout.reingold.tilford, edge.arrow.size=0.05, vertex.size = 5, vertex.label.cex = 0.5)
 #or circle
 plot.igraph(b, layout=layout.circle, edge.arrow.size=0.05, vertex.size = 5, vertex.label.cex = 0.5)

答案 1 :(得分:0)

这不是邻接矩阵,而是边缘列表。这是一种导入和绘制它的简单方法:

csv <- read.csv("http://dl.dropboxusercontent.com/u/22681355/network.csv", sep=";")
g <- graph.data.frame(csv)             
plot(g)

如果你想在图上看到一些东西,你需要编辑绘图参数,阅读?igraph.plotting