Re: ChartLabels for Stacked, Grouped BarCharts?
- To: mathgroup at smc.vnet.net
- Subject: [mg105835] Re: [mg105816] ChartLabels for Stacked, Grouped BarCharts?
- From: Tomas Garza <tgarza10 at msn.com>
- Date: Mon, 21 Dec 2009 03:30:59 -0500 (EST)
- References: <200912201154.GAA01009@smc.vnet.net>
I've had the exact same problem a number of times, and I think that presently the best approach is to fiddle with Epilog and place your labels exactly where you want. With a large number of groups it may require some extra work, but once you get familiar with it you'll get a nice result. For example, BarChart[data2,ChartLayout->"Stacked",Epilog->{Style[Text["group a",{0.5,-0.4}],10],Style[Text["group b",{1.7,-0.4}],10],Style[Text["group c",{3,-0.4}],10]},PlotRange->{{0,3.5},{-0.5,12}}] BarChart[data2,ChartLayout->"Grouped", Epilog->{Style[Text["group a",{1.5,-0.2}],10],Style[Text["group b",{5,-0.2}],10],Style[Text["group c",{8.5,-0.2}],10]},PlotRange->{{0,10},{-0.3,5}}] Tomas > Date: Sun, 20 Dec 2009 06:54:38 -0500 > From: grobertson at bcgsc.ca > Subject: [mg105816] ChartLabels for Stacked, Grouped BarCharts? > To: mathgroup at smc.vnet.net > > Could I ask for help with ChartLabels for Stacked and Grouped BarCharts in > Mathematica 7? I've checked the MathGroup archives and Mathematica help docs. > > I need to assess Stacked and Grouped BarCharts for a 2D dataset that > consists of 20 groups of three values. Labels for the groups are > {31,32,...,50}. From the help docs, it's easy to display the bars in either > mode for simple baseline cases. But I don't see how to put a *single* label > or tick *per stack or group*, below the X-axis. > > The following simulates the 2D dataset that will be read in from a file: > tab2 = {{"a",1,2,3},{"b",2,3,4},{"c",3,4,5}} > > labs2 = tab2[[All,1]] > > data2 = tab2[[All,2;;4]] > > > I need "Stacked" and "Grouped" BarCharts that have "a","b" and "c", > respectively, as the labels for the three bar stacks or groups, below the > X-axis. The following commands do not give this: > BarChart[data2,ChartLayout->"Stacked",ChartLabels->Placed[labs2,Below]] > BarChart[data2,ChartLayout->"Grouped",ChartLabels->Placed[labs2,Below]] > > The "Stacked" graph has a vertical stack of "a" "b" and "c" below the lower > edges of *each* block in *each* bar/block stack; the "Grouped" graph has a > label beneath *each* bar. Likely this makes sense in terms of general 'list ' > rules, but it does not deliver what I need. > > I've tried expanding the label list and using a list that includes None for > the second argument of Placed[], but have not quickly found a solution. > > I can guess that Ticks may be the approach to use, but wonder if I could as k > more experienced folks for help. Could I also ask WRI to implement (or > document) these BarChart use cases. > > Thanks in advance for your help in this. > > Gordon > -- > Gordon Robertson > BC Cancer Agency Genome Sciences Centre > Vancouver BC Canada > www.bcgsc.ca > 604-707-5800 x675416 > >
- References:
- ChartLabels for Stacked, Grouped BarCharts?
- From: Gordon Robertson <grobertson@bcgsc.ca>
- ChartLabels for Stacked, Grouped BarCharts?