[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [igraph] consistent layout w/induced.sugraph

From: Tamás Nepusz
Subject: Re: [igraph] consistent layout w/induced.sugraph
Date: Wed, 10 Jul 2013 00:16:55 +0200

> I'm trying to plot subsets of a large graph with the layout from the full 
> graph retained. In trying to make use of the induced.subgraph command to do 
> so, it's not carrying over layout information in the way I'd expect, and 
> throws an error.
This is because the "layout" graph attribute that you assign your layout to is 
"just" an ordinary graph attribute; in other words, igraph does not "know" that 
the value of the layout attribute is a matrix whose rows refer to the vertices. 
Since igraph does not know this, it won't adjust the layout attribute when you 
construct the induced subgraph. (The adjusted layout would not include the rows 
corresponding to the vertices that are not in the induced subgraph). As you 
guessed already, the easiest way to make it work is to assign the x/y 
coordinates separately as vertex attributes. Alternatively, you can keep the 
layout object independent of the graph and subset it when plotting:

layout <- layout.fruchterman.reingold(g)
plot(g, layout=layout)
vertices <- which(cl$membership == which.max(cl$csize))
g1 <- induced.subgraph(g, vertices)
plot(g1, layout=layout[vertices,])


reply via email to

[Prev in Thread] Current Thread [Next in Thread]