Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Maria Ana Vitorino <vitorino@umn.edu> |
To | statalist@hsphsun2.harvard.edu |
Subject | Re: st: Twoway graph with different scaled y axes |
Date | Tue, 19 Mar 2013 17:46:59 -0500 |
Thanks! This was very helpful. One small question now...how do I edit the legend so that it looks like the one at >> http://www.cancerresearchuk.org/cancer-info/cancerstats/incidence/age/#Cancer Thanks again, Ana On Mar 19, 2013, at 4:39 PM, Nick Cox wrote: > You should forget about -graph bar- and move to -twoway-. > > Here's an example: > > clear > > input age1 age2 str1 gender cases rate > 15 20 F 10000 5.3 > 20 25 F 15000 8.3 > 25 30 F 12000 6.5 > 15 20 M 18000 9.3 > 20 25 M 12000 5.3 > 25 30 M 8000 2.5 > end > > gen rate2 = rate * 1000 > gen x = (age1 + age2) / 2 + cond(gender == "F", 1, -1) > > twoway bar cases x if gender == "F", barw(2) bcolor(pink*0.5) || /// > bar cases x if gender == "M", barw(2) bcolor(blue*0.5) || /// > connected rate2 x if gender == "F", mcolor(pink*0.5) lcolor(pink*0.5) || /// > connected rate2 x if gender == "M", mcolor(blue*0.5) lcolor(blue*0.5) /// > yaxis(1 2) yla(0 2000 "2" 4000 "4" 6000 "6" 8000 "8" 10000 "10", axis(1)) /// > xtitle(age) xla(17.5 "15-20" 22.5 "20-25" 27.5 "25-30") legend(off) /// > ytitle(rate, axis(1)) ytitle(cases, axis(2)) > > NB: the boundaries 20, 25, etc. are ambiguous. > > Nick > > > On Tue, Mar 19, 2013 at 9:24 PM, Maria Ana Vitorino <vitorino@umn.edu> wrote: >> Dear Statalist members, >> >> I'm trying to do 2 graphs on the same figure but am having trouble with twoway. >> >> Here is a sample of my data: >> >> agegroup gender cases rateper1000 >> 15-20 F 10000 5.3 >> 20-25 F 15000 8.3 >> 25-30 F 12000 6.5 >> 15-20 M 18000 9.3 >> 20-25 M 12000 5.3 >> 25-30 M 8000 2.5 >> >> I would like to have both figures in the same plot: >> >> 1) graph bar cases, over(gender, label(labsize(small))) asyvars over(agegroup, label(labsize(vsmall))) ytitle("Number of Cases") b1title("Age") >> >> AND >> >> 2) a graph that has the variable rateper1000 on another axis and that shows (with dots) the rate per agegroup and age and connects those dots. >> >> The figure at http://www.cancerresearchuk.org/cancer-info/cancerstats/incidence/age/#Cancer >> depicts well what I am trying to achieve. > * > * 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/