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