There may well be an easier way, but this does
work and is tunable:
gen old_new = old + new
gen oldpop_newpop = oldpop + newpop
gen year2 = year - 0.2
gen year3 = year + 0.2
twoway bar oldpop year2, barw(0.4) ||
rbar oldpop oldpop_newpop year2, barw(0.4) ||
bar old year3, barw(0.4) ||
rbar old old_new year3, barw(0.4)
legend(order(1 "oldpop" 2 "newpop" 3 "old" 4 "new"))
To quote a forthcoming article in the Stata Journal:
"as is common with Stata's
graphics, whatever is difficult with -graph dot-, -graph bar- or
-graph hbar- is often straightforward with {\tt graph twoway},
modulo some persistence".
Nick
[email protected]
Margo Schlanger
> I want to create a single bar graph presenting the means of four
> variables for each of four years, stacked 2x2.
>
> My five variables are: old new oldpop newpop year. I can easily get
> two different stacked graphs:
>
> graph bar (mean) old new over(year) stack
> graph bar (mean) oldpop newpop over(year) stack
>
> What I want to do, though, is have these all appear on one graph, with
> old and new stacked in one color, and oldpop and newpop stacked in
> another color, with those stacked bars grouped by year. I can get
> something close by creating an "old+new" variable and an
> "oldpop+newpop"
> variable, and then graphing those by year. But I want the information
> from the stacks, too, and all I've been able to do, so far,
> is put them
> in different colors and then combine them with grc1leg or graph
> combine.
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/