Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
Joe Canner <[email protected]> |

To |
"[email protected]" <[email protected]> |

Subject |
st: RE: Box Graph Question |

Date |
Tue, 8 Oct 2013 20:55:58 +0000 |

```
John,
It is possible, although a bit messy (at least the way I know how to do it). It may also take some tweaking to apply it to your situation.
First the code:
*****
sysuse auto, clear
statsby "su mpg" mean=r(mean) max=r(max) min=r(min) sd=r(sd), by(rep78)
gen meanpsd = mean + sd
gen meanmsd = mean - sd
sort mean
gen meansort=_n
forvalues j=1/`=_N' {
local thislab=rep78[`j']
local lab `lab' `j' "`thislab'"
}
label define meanlabel `lab'
label value meansort meanlabel
twoway scatter mean meansort || rbar mean max meansort, bcolor(none) barw(0.2) || rbar mean min meansort, bcolor(none) barw(0.2) || rbar meanmsd meanpsd meansort , barw(0.1) bcolor(red) legend(off) ytitle(Miles per gallon) yla(, ang(h)) xlabel(1/`=_N', valuelabel)
*****
What this is doing is creating a variable (meansort) which is the order of the points sorted by mean. When you replace all instances of rep78 with meansort you will get the graph sorted by mean. But, your x-axis labels are wrong now, so you have to label them with the original values of rep78.
Regards,
Joe Canner
Johns Hopkins University School of Medicine
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of John Marvel
Sent: Tuesday, October 08, 2013 4:15 PM
To: [email protected]
Cc: John Marvel
Subject: st: Box Graph Question
My question refers to a statalist posting under the same subject line
as above ("Box Graph Question") from November 1, 2006. I'm running
Stata 13 SE.
The code below (from Nick Cox) produces a very useful graph of
descriptive statistics.
My question is whether the elements of the graph (the bars) can be
ordered by mean. In other words, if I wanted the bars that the code
produces to run from the lowest mean to the highest mean, how would I
do that (if possible?).
Thanks very much for any help,
John Marvel
****************************************************
sysuse auto, clear
statsby "su mpg" mean=r(mean) max=r(max) min=r(min) sd=r(sd), by(rep78)
gen meanpsd = mean + sd
gen meanmsd = mean - sd
twoway scatter mean rep78 || ///
rbar mean max rep78, bcolor(none) barw(0.2) || ///
rbar mean min rep78, bcolor(none) barw(0.2) || ///
rbar meanmsd meanpsd rep78 , barw(0.1) bcolor(red) ///
legend(off) ytitle(Miles per gallon) yla(, ang(h)) ///
note(red bars: mean +/- sd; empty bars show range)
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/
```

**Follow-Ups**:**Re: st: RE: Box Graph Question***From:*John Marvel <[email protected]>

**References**:**st: Box Graph Question***From:*John Marvel <[email protected]>

- Prev by Date:
**st: Estimating a system of equations with panel data: error with xtsur** - Next by Date:
**Re: st: esttab into Excel tables that are directly readable?** - Previous by thread:
**st: Box Graph Question** - Next by thread:
**Re: st: RE: Box Graph Question** - Index(es):