2014-02-11 3 views
1

У меня есть график в формате матрицы смежности:Построение графика из матрицы смежности

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

Узлы в первой колонке соединены с соответствующими узлами во втором столбце.

Можно ли преобразовать этот график в формат, который позволяет визуализировать?

+0

У меня есть ошибка 404 из вашей ссылки –

+0

у вас здесь есть? http://mlpost.lri.fr/examples/tree.ml.html –

+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) 
+0

'a <- c (a, x [i,])' является анти-шаблоном в R. Это делает время работы квадратичным. Вы можете просто сказать 'b <- graph (t (a))' без цикла 'for'. –

0

Это не матрица смежности, а скорее список края. Вот простой способ импортировать и сюжет его:

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

Если вы действительно хотите увидеть что-то на участке, вам необходимо изменить параметры черчения, прочитать ?igraph.plotting.

+0

Итак, почему -1? Может быть, мы можем чему-то научиться здесь ..... –

Смежные вопросы