MathGroup Archive 2009

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

Search the Archive

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
>
>


  • Prev by Date: Re: ChartLabels for Stacked, Grouped BarCharts?
  • Next by Date: Marbles.nb [was Re: CellChangeTimes?]
  • Previous by thread: Re: ChartLabels for Stacked, Grouped BarCharts?
  • Next by thread: Re: ChartLabels for Stacked, Grouped BarCharts?