Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Nick Cox <njcoxstata@gmail.com> |
To | statalist@hsphsun2.harvard.edu |
Subject | Re: st: twoway bar |
Date | Wed, 28 Mar 2012 13:58:50 +0100 |
In the case of the code below graph bar (mean) trunk turn, over(foreign) is a more direct approach. But you still need -twoway- to plot your means and confidence intervals. Also, if in your code -group- is the x variable, then -by(group)- is usually better omitted. Nick On Wed, Mar 28, 2012 at 1:49 PM, Nick Cox <njcoxstata@gmail.com> wrote: > In each of your graph calls, you specify that -group- defines the x > axis variable; inevitably -twoway- does exactly what you ask for and > plots bars etc. on top of each other. > > You may be expecting default behaviour like that of -graph bar-, but > -twoway bar- does not behave in the same way, > > One way round this is to use an offset. The following gives an example > > sysuse auto, clear > egen mean_turn = mean(turn), by(foreign) > egen mean_trunk = mean(trunk), by(foreign) > label var mean_turn "Mean of Turn circle, ft" > label var mean_trunk "Mean of Trunk space, cu. ft" > gen foreign1 = foreign - 0.1 > gen foreign2 = foreign + 0.1 > twoway bar mean_turn foreign1 , barw(0.18) /// > || bar mean_trunk foreign2, barw(0.18) xtitle("`: var label foreign'") > base(0) xla(0 "Domestic" 1 "Foreign") > > See also > > SJ-7-1 gr0026 . . . . Stata tip 42: The overlay problem: Offset for clarity > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . J. Cui > Q1/07 SJ 7(1):141--142 (no commands) > tip for graphing several quantities on a continuous axis > > which is accessible to all at > > http://www.stata-journal.com/sjpdf.html?articlenum=gr0026 > > Nick > > On Wed, Mar 28, 2012 at 1:29 PM, ofran almossawi > <ofran.almossawi@gmail.com> wrote: > >> I have done a two way bar plot but stata keeps stacking the bars and the sd >> lines on top of each other instead of laying all four columns side by side. >> >> I have compared the pain scores of two groups of patients post caesarean >> section, before and after taking their pain medications. The sm group take >> their own pain killers, and the nsm group are given the painkillers by the >> midwves. >> >> This is the code that I used: >> >> twoway (bar meanpain group) (rcap upper_pain lower_pain group) (bar >> meanmed group) (rcap upper_med lower_med group), by(group) >> >> i'm not sure where i'm going wrong with this. >> * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/