       Re: GraphPlot

• To: mathgroup at smc.vnet.net
• Subject: [mg114576] Re: GraphPlot
• From: Daniel Lichtblau <danl at wolfram.com>
• Date: Wed, 8 Dec 2010 06:41:42 -0500 (EST)

```Lou wrote:
> Hi All,
> I hope you can help.
> I'm playing around with the GraphPlot function and would like to
> separate the graphs into different plots (in e.g. a table].
> So when there are 5 graphs plotted in one picture I would like 5
> pictures.
> The trick would be (I thought..) to get the graph data and use gather
> to form the graphs with the vertexes connected but it seems the
> GraphPlot function outsmarts the Gather function. So e.g. Gather will
> disconnect some grahps.
> I used Gather with a test function like OR'ing all the vertexes but it
> seems Gather does not try out all possibilities.
> Any of you other thoughts to solve this question?
> so:
> links = {"a" -> "b", "c" -> "b", "d" -> "b", "b" -> "e", "a1" -> "e",
>   "c1" -> "e", "d1" -> "e", "q" -> "z", "r" -> "z", "s" -> "z"}
> with GraphPlot[links] will generate 2 graphs.
>
> Gather will make 3 graphs:
> Gather[links, ((#1[] == #2[]) || (#1[] == #2[]) || (#1[[
>        1]] == #2[]) || (#1[] == #2[])) &]
> outputs to
> {{"a" -> "b", "c" -> "b", "d" -> "b", "b" -> "e"}, {"a1" -> "e",
>   "c1" -> "e", "d1" -> "e"}, {"q" -> "z", "r" -> "z", "s" -> "z"}}
> which results in 3 graphs..

Gather as used above will not give a transitive closure.

You can get a start on this by finding the connected components of the

Out= {{"a", "b", "c", "d", "e", "a1", "c1", "d1"}, {"q", "z", "r",
"s"}}

osition[vertsets, #[]][[1, 1]] &]
Out= {{"a" -> "b", "c" -> "b", "d" -> "b", "b" -> "e",
"a1" -> "e", "c1" -> "e", "d1" -> "e"}, {"q" -> "z", "r" -> "z",
"s" -> "z"}}

Now you might do

Map[GraphPlot, subgraphs]

to get separated graphs.

Daniel Lichtblau
Wolfram Research

```

• Prev by Date: Re: Replacement Rule with Sqrt in denominator
• Next by Date: Re: Counting number of numbers in a large list between two valus