Re: Re: Label vertices in Graph to display with GraphPlot
- To: mathgroup at smc.vnet.net
- Subject: [mg87316] Re: [mg87276] Re: [mg87213] Label vertices in Graph to display with GraphPlot
- From: "J. McKenzie Alexander" <jalex at lse.ac.uk>
- Date: Mon, 7 Apr 2008 05:18:55 -0400 (EDT)
- References: <200804040758.CAA03960@smc.vnet.net> <200804061043.GAA14476@smc.vnet.net>
What was the problem with the documentation? The documentation for VertexRenderingFunction has the following as the first entry under "More Information": VertexRenderingFunction->f specifies that each vertex should be rendered with the graphics primitives given by f[rk,vk], where rk is the coordinate position where the vertex is being placed, and vk is its name. On 6 Apr 2008, at 11:43, Murray Eisenberg wrote: > At last I figured it out. (And no thanks to the documentation.) > > Here's a simple example of using non-default vertex labels in a > GraphPlot display with a graph created by a GraphPlot function: > > <<Combinatorica` > > labels = {"a", "b", "c", "d"}; > GraphPlot[Wheel[4], Method -> None, > VertexRenderingFunction -> > ({EdgeForm[{Brown}], Yellow, Disk[#1, 0.05], > Black, Text[labels[[#2]], #1]} &), > BaseStyle -> {FontSize -> 16}] > > The "secret" is in the meaning of the slot argument #2 to Text within > the VertexRenderingFunction. > > Murray Eisenberg wrote: >> I'm using some Combinatorica functions to create graphs where I do >> not >> specify individually the vertices -- and hence do not individually >> specify the vertex labels I want, e.g.: >> >> g = RotateVertices[Cycle[5], \[Pi]/10]; g = AddEdge[g, {2, 5}]; >> g = SetGraphOptions[g, VertexLabel -> Characters["abcde"]]; >> >> If I use Combinatorica`ShowGraph, then I'll see the vertex labels: >> >> ShowGraph[g] >> >> However, if I use Mathematica 6's kernel function GraphPlot, I >> don't see >> these individual labels, but rather the entire list {a,b,c,d,e} of >> labels at each vertex! >> >> GraphPlot[g,Method->None,VertexRenderingFunction->(Text[#2,#1]&) >> >> How do I coerce GraphPlot to reproduce the behavior of ShowGraph, so >> that it labels the individual vertices with a, b, c, d, e? >> >> (The interaction between Combintorica's graph-creating functions, >> on the >> one hand, and GraphPlot, on the other hand, remains mysterious and >> severely underdocumented for me. >> >> It seems there's a clear attempt to migrate display of graphs to the >> kernel function GraphPlot and thereby discourage use of ShowGraph, >> yet >> in almost everything I've attempted so far, GraphPlot does not so >> readily or gracefully reproduce the functionality of Combinatorica'a >> ShowGraph. This is most especially the case as it affects relative >> newcomers to Mathematica like my students.) > > -- > 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:
- Label vertices in Graph to display with GraphPlot
- From: Murray Eisenberg <murray@math.umass.edu>
- Re: Label vertices in Graph to display with GraphPlot
- From: Murray Eisenberg <murray@math.umass.edu>
- Label vertices in Graph to display with GraphPlot