Re: Re: changing style of vertices for ShowGraph with Combinatorica
- To: mathgroup at smc.vnet.net
- Subject: [mg86347] Re: [mg86307] Re: changing style of vertices for ShowGraph with Combinatorica
- From: Murray Eisenberg <murray at math.umass.edu>
- Date: Sun, 9 Mar 2008 05:00:56 -0500 (EST)
- Organization: Mathematics & Statistics, Univ. of Mass./Amherst
- References: <fqqrql$k9j$1@smc.vnet.net> <200803081040.FAA13262@smc.vnet.net>
- Reply-to: murray at math.umass.edu
So far so good, but this raises lots of questions: (1) Why Text[#2,#1] in the pure function for VertexRenderingFunction? (Except that an example appears in the Documentation Center where this is used. To what do the arguments refer? (2) What about edge labeling? If I specify a graph directly like this... g = {{1 -> 2, "a"}, {2 -> 3, "b"}, {3 -> 1, "c"}}; ... then I can produce (and even PARTIALLY format) labels for it as follows: GraphPlot[g, VertexRenderingFunction -> ({EdgeForm[{Thick, Red}], FaceForm[Yellow], Disk[#1, 0.05], Text[#2, #1]} &), EdgeLabeling -> True, BaseStyle -> {FontSize -> 18}] I said "partially" because, for example, I cannot change the font color in that BaseStyle specification. And the edge labels are superimposed upon (i.e., inset into) the edge lines. I can imagine providing an EdgeRenderingFunction to change that, but it seems like it would be rather complicated. To do the same sort of thing with a But how do I do the same thing for a Combinatorica-type Graph object? For example: g=Cycle[3] I thought perhaps that using SetGraphOptions or this g might help, but the documentation for SetGraphOptions is almost useless. Despite that documentation, I could get the following to work: g = Cycle[3]; g = SetGraphOptions[g, {{{1,2}, EdgeLabel->"a"}, {{2,3},EdgeLabel->"b"}, {{3,1}, EdgeLabel->"c"}}] ShowGraph[g] However, using GraphPlot instead displays no edge labels with this: GraphPlot[g, VertexRenderingFunction -> ({EdgeForm[{Thick, Red}], FaceForm[Yellow], Disk[#1, 0.05], Text[#2, #1]} &), EdgeLabeling -> True] And I am at a loss as to how to use EdgeRenderingFunction to display the edge labels I specified in the SetGraphOptions. The documentation is just so horribly inadequate (at least for me) as to give no clue. Perhaps somebody else has a clue, or has managed to stumble upon this despite the non-documentation. (3) And where, exactly, is all this documented carefully? (I'm addressing this last question really to WRI!) With GraphPlot, as with Combinatorica, the documentation is skimpy -- to be generous about the situation. (I write all this from the standpoint of one who is trying to use Combinatorica's graph-theoretic functions for students who are relative Mathematica beginners.) Steve Luttrell wrote: > You could use the native GraphPlot function to plot your > Combinatorica-defined graph as follows: > > Needs["Combinatorica`"] > > g = Cycle[3]; > > GraphPlot[g, > VertexRenderingFunction -> ({EdgeForm[{Thick, Red}], > FaceForm[Yellow], Disk[#1, 0.05], Text[#2, #1]} &)] > > Stephen Luttrell > West Malvern, UK > > "Murray Eisenberg" <murray at math.umass.edu> wrote in message > news:fqqrql$k9j$1 at smc.vnet.net... >> With Mathematica 6, I can change the default style (medium black disk) >> for rendering the vertices of a Combinatorica Graph like this: >> >> Needs["Combinatorica`"] >> >> g = Cycle[3]; >> ShowGraph[g, VertexStyle -> Disk[Large], VertexColor -> Red] >> >> But how can I, for example, change the vertex style so it is, say, a >> large yellow disk with a thick red boundary? Or even just change it to >> be a circle? I tried "obvious" things like the following, but they >> cause errors: >> >> ShowGraph[g, VertexStyle -> Graphics[Circle[], ImageSize -> 20]] >> >> -- >> Murray Eisenberg murray at math.umass.edu >> Mathematics & Statistics Dept. >> Lederle Graduate Research Tower phone 413 549-1020 (H) >> University of Massachusetts 413 545-2859 (W) >> 710 North Pleasant Street fax 413 545-1801 >> Amherst, MA 01003-9305 >> > > -- Murray Eisenberg murray at math.umass.edu Mathematics & Statistics Dept. Lederle Graduate Research Tower phone 413 549-1020 (H) University of Massachusetts 413 545-2859 (W) 710 North Pleasant Street fax 413 545-1801 Amherst, MA 01003-9305
- References:
- Re: changing style of vertices for ShowGraph with Combinatorica
- From: "Steve Luttrell" <steve@_removemefirst_luttrell.org.uk>
- Re: changing style of vertices for ShowGraph with Combinatorica