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
>
- References:
- Pie Chart - Labeled Input
- From: Don <donabc@comcast.net>
- Pie Chart - Labeled Input