Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2007
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2007

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

Search the Archive

Re: Question re: graphics primitives

  • To: mathgroup at smc.vnet.net
  • Subject: [mg77634] Re: Question re: graphics primitives
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Thu, 14 Jun 2007 05:24:19 -0400 (EDT)
  • Organization: The Open University, Milton Keynes, UK
  • References: <f4omi2$7jr$1@smc.vnet.net>

Ghuloum, Anwar wrote:
> Is it possible to put conditional clauses (i.e. If[.]) in the
> VertexRenderingFunction option for TreeForm (or any primitive that this
> option applies to)? I wanted to selectively label vertices based on label
> content, but Mathematica was complaining that "If" is not a graphics
> primitive or directive.
> 
>  
> 
> (Basically, I'm trying to draw a tree where only the leaves have labels:
> 
> TreeForm[{{a, b}, {c, {d}}},  VertexRenderingFunction -> (If[#2 == List, {},
> Text[#2, #1]] &)]
> 
> )
> 
>  
> 
> In general, I was having a hard time finding information at the
> documentation center on the limitations on how I can generate graphics
> primitives.but perhaps I'm not looking in the right place.
> 
> 
> Thanks in advance!
> 
> --
> 
> Anwar Ghuloum
> 
> Microprocessor Technology Lab, Intel
> 
>  
> 

Below we define a function with some conditions on it. In doing so, 
Mathematica sees only graphic primitive whenever it evaluates the 
VertexRenderingFunction option. (Arguably, the following example is 
written in a more Mathematica fashion.) If the second argument is a 
list, then the first definition (the less general definition indeed) is 
evaluated and the empty list is returned. Otherwise, the more general 
definition (the second in our case) is called and the graphic primitive 
Text is returned.

myRender[r_, k_] := {} /; k == List
myRender[r_, k_] := Text[k, r]
TreeForm[{{a, b}, {c, {d}}}, VertexRenderingFunction ->
      (myRender[#1, #2] & )]

Regards,
Jean-Marc


  • Prev by Date: Re: What is the compatibility guide?
  • Next by Date: Re: Re: how put Manipulate-like automatic action control
  • Previous by thread: Re: Question re: graphics primitives
  • Next by thread: RE: Re: Question re: graphics primitives