Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

Re: Pie Chart - Labeled Input

  • To: mathgroup at smc.vnet.net
  • Subject: [mg120608] Re: Pie Chart - Labeled Input
  • From: Heike Gramberg <heike.gramberg at gmail.com>
  • Date: Sat, 30 Jul 2011 07:20:11 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201107301002.GAA25415@smc.vnet.net>

You could use Apply instead of Map, i.e.

PieChart[Labeled[##] & @@@ Transpose[{lst1, lst2, lst3}]]

or alternatively using MapThread:

PieChart[MapThread[Labeled[##] &, {lst1, lst2, lst3}]]

Heike

On 30 Jul 2011, at 11:02, Don wrote:

> I am trying to generalize the following
> PieChart function where I can programmatically
> change the number of labeled pieces in the pie.
> 
> PieChart[{Labeled[1,"label 1","VerticalCallout"],Labeled[2,"label
> 2","VerticalCallout"],Labeled[3,"label
> 3","VerticalCallout"]},PlotRange->1.5]
> 
> For e.g. given the following three lists, how can one form the input
> that the Pie Chart function above expects?
> 
> lst1 = {1,2,3}
> lst2 =  {"label 1", "label 2", "label 3"}
> lst3 = Table["VerticalCallout", {Length[lst1]}]
> 
> For e.g. if one makes a single list of the three lists above
> and then tries to map the Labeled function over each
> element of this single list,  a syntax error is generated:
> 
> (1) singleList =  Flatten[#]& /@ Transpose[{lst1,
> Transpose[{lst2,lst3}]}]
> 
> (2) Labeled[#]& /@ singleList
> 
> Mathematica does not like statement 2 because Labeled is expecting
> more than one input.  The obvious direct "solution" above is a
> loser.
> 
> Don
> 





  • Prev by Date: Re: extra lines in framed plots?
  • Next by Date: Multiple Styles
  • Previous by thread: Pie Chart - Labeled Input
  • Next by thread: Re: Pie Chart - Labeled Input