Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: issues with GraphPlot

  • To: mathgroup at smc.vnet.net
  • Subject: [mg99068] Re: issues with GraphPlot
  • From: Bob F <deepyogurt at gmail.com>
  • Date: Sun, 26 Apr 2009 01:37:17 -0400 (EDT)
  • References: <gsuisc$drq$1@smc.vnet.net>

On Apr 25, 2:50 am, sean_inc... at yahoo.com wrote:
> Hello group,
>
> A few things that I just can't figure out.
>
> 1. EdgeRenderingFunction ignores edge labels.
>
> GraphPlot[{{"B" -> "A" , "+"}, {"A" -> "B", "+"}},
>  DirectedEdges -> True, VertexLabeling -> True,
>  VertexRenderingFunction -> ({White, EdgeForm[Black], Disk[#, .05],
>      Black, Text[#2, #1]} &), EdgeLabeling -> True,
>  EdgeRenderingFunction -> ({ Arrowheads[Medium],
>      Arrow[#1 , 0.07]} &), PlotStyle -> Thickness[0.005]]
>
> 2. As it is, above code produces a graph that is stretched
> horizontally a bit too much. About the half the horizontal width works
> better for me. How do I accomplish that? AspectRatio-> 1/GoldenRatio
> doesn't work since disk gets stretch also.
>
> 3. For node A to appear on the left, "B"-> "A" has to be defined
> first. If I reverse it, then the node B will appear on the left. What
> is the reason for this?
>
> Thanks in advance for any info.
>
> Sean

Sean,

According to the Documentation Center info about "GraphPlot", the
order the nodes appear in is controlled by the "Method" that GraphPlot
uses. There are seven methods with the default method being
"Automatic" which uses the "SpringElectricalEmbedding" method, but
uses the "RadialDrawing" method if the graph is a tree.. The seven
methods are:

"CircularEmbedding", "RandomEmbedding", "HighDimensionalEmbedding",
"RadialDrawing", "SpringEmbedding" and "SpringElectricalEmbedding".
The method "LinearEmbedding" lays out all vertices on a single line.

See the detailed writeup of GraphPlot for more info. Also here are the
seven possiblities for a simple 2 vertex graph:

GraphPlot[{0 -> 1, 1 -> 0}, DirectedEdges -> True,
 VertexLabeling -> True, Method -> "CircularEmbedding"]
GraphPlot[{0 -> 1, 1 -> 0}, DirectedEdges -> True,
 VertexLabeling -> True, Method -> "RandomEmbedding"]
GraphPlot[{0 -> 1, 1 -> 0}, DirectedEdges -> True,
 VertexLabeling -> True, Method -> "HighDimensionalEmbedding"]
GraphPlot[{0 -> 1, 1 -> 0}, DirectedEdges -> True,
 VertexLabeling -> True, Method -> "RadialDrawing"]
GraphPlot[{0 -> 1, 1 -> 0}, DirectedEdges -> True,
 VertexLabeling -> True, Method -> "SpringEmbedding"]
GraphPlot[{0 -> 1, 1 -> 0}, DirectedEdges -> True,
 VertexLabeling -> True, Method -> "SpringElectricalEmbedding"]
GraphPlot[{0 -> 1, 1 -> 0}, DirectedEdges -> True,
 VertexLabeling -> True, Method -> "LinearEmbedding"]

-Bob


  • Prev by Date: Re: Re: Jacobi polynomials in Mathematica
  • Next by Date: Re: MatrixPlot with color range bar
  • Previous by thread: Re: issues with GraphPlot
  • Next by thread: Re: issues with GraphPlot