Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

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

From |
"Martin Weiss" <martin.weiss1@gmx.de> |

To |
<statalist@hsphsun2.harvard.edu> |

Subject |
RE: st: RE: percent symbols in catplot |

Date |
Fri, 26 Feb 2010 23:18:00 +0100 |

<> The second graph requested in Eric`s initial post requires some modification: ******* sysuse auto, clear contract rep78 foreign, percent(perc) *-----added qui sum perc local x = round(`r(min)', 10) local y = round(`r(max)', 10)+10 local t 10 if `r(max)'>75 & !mi(`r(max)') { local t 25 } mylabels `x'(`t')`y', local(labels) myscale(@) suffix("%") *------ gen strpercent=string(perc, "%4.1fc")+ " %" /*chg. to 1 dec place*/ twoway (bar perc rep78) /* */ (scatter perc rep78, mlabcolor(black) msymbol(none) /* */ mlabsize(medium) mlabel(strpercent) /* */ mlabposition(12)), by(foreign, legend(off) note("")) /* */ yla(`labels') // <-- changed to use local created by -mylabels- ******* BTW Eric, is there a conceivable case that would require one to check for a missing "r(max)"? Anyway, the instinct to check for missings whenever "greater than" is employed is a healthy one :-) HTH Martin -----Original Message----- From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Eric Booth Sent: Freitag, 26. Februar 2010 22:33 To: statalist@hsphsun2.harvard.edu Subject: Re: st: RE: percent symbols in catplot > Thanks, Martin. This is a great workaround for my situation (& it's much better than my idea of tinkering with the .grec file output). > I failed to bring this up at the last wishes & grumbles in Florence. A > -format- that adds the percentage sign, just like in spreadsheet software... Yes I agree, hopefully Stata will implement a percentage format someday. ___ Just FYI for anyone else who needs something like this: I slightly modified Martin's example to use NJC's -mylabels- (from SSC & referenced in the 2008 thread Martin referred me to) so that I could easily shift the yaxis with the range of the data in a way that makes sense for the way I need to display results--so, something like: *******begin sysuse auto, clear contract rep78, percent(perc) *-----added qui sum perc local x = round(`r(min)', 10) local y = round(`r(max)', 10)+10 local t 10 if `r(max)'>75 & !mi(`r(max)') { local t 25 } mylabels `x'(`t')`y', local(labels) myscale(@) suffix("%") *------ gen strpercent=string(perc, "%4.1fc")+ " %" /*chg. to 1 dec place*/ twoway (bar perc rep78) /* */ (scatter perc rep78, mlabcolor(black) msymbol(none) /* */ mlabsize(medium) mlabel(strpercent) /* */ mlabposition(12)), legend(off) /* */ yla(`labels') // <-- changed to use local created by -mylabels- *******end (note that the ylab changes from increasing by 10 to increasing by 25 if the r(max) > 75) Thanks again, Eric __ Eric A. Booth Public Policy Research Institute Texas A&M University ebooth@ppri.tamu.edu Office: +979.845.6754 On Feb 26, 2010, at 2:47 PM, Martin Weiss wrote: > > <> > > You can always go for a kludge: > > > ******* > sysuse auto, clear > contract rep78, percent(perc) > gen strpercent=string(perc, "%4.2fc")+ " %" > twoway (bar perc rep78) /* > */ (scatter perc rep78, mlabcolor(black) msymbol(none) /* > */ mlabsize(medium) mlabel(strpercent) /* > */ mlabposition(12)), legend(off) /* > */ yla(0 "0%" 10 "10%" 20 "20%" 30 "30%" 40 "40%" 50 "50%") > ******* > > > HTH > Martin > > > -----Original Message----- > From: owner-statalist@hsphsun2.harvard.edu > [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Eric Booth > Sent: Freitag, 26. Februar 2010 21:12 > To: statalist@hsphsun2.harvard.edu > Subject: st: percent symbols in catplot > >> > > I am using -catplot- (from SSC) on Stata 11 MP for Mac OSX. I'd like to > show the percent sign in the label for each of the category bars when using > the "percent" option. > > For example, > **** > webuse auto, clear > catplot bar rep78, percent blabel(bar, position(outside) format(%9.1f)) > **or** > catplot bar rep78, by( for) percent blabel(bar, position(outside) > format(%9.1f)) > **** > shows the percent of each rep78 category out of 100, but I can't get it to > show the % sign, so it could say "43.5%", etc. > > Using graph editor, I found that I can add a % sign to the bar label text > manually (though I'd rather not have to do that for many graphs), but after > looking through the barlabel options help documentation, I couldn't figure > out how to change the bar label automatically. (I had the idea that if I > could override the bar labels like you can the text for a key in a legend > then I could calculate and substitute these values into the -catplot- > command in a loop, but I haven't found a way to do this using the barlabel > option) > > Another option might be to write something that automates those graph > recorder grec file changes (ex: when I add the "%" by hand, it issues the > command: > > .plotregion1.barlabels[3].text.Arrpush 43.5% > > in the recording), but this is a pain. Any suggestions? > > Thanks, > > Eric > __ > Eric A. Booth > Public Policy Research Institute > Texas A&M University > ebooth@ppri.tamu.edu > Office: +979.845.6754 > > * > * 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/ > > * > * 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/ * * 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/ * * 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/

**Follow-Ups**:**Re: st: RE: percent symbols in catplot***From:*Eric Booth <ebooth@ppri.tamu.edu>

**References**:**st: percent symbols in catplot***From:*Eric Booth <ebooth@ppri.tamu.edu>

**st: RE: percent symbols in catplot***From:*"Martin Weiss" <martin.weiss1@gmx.de>

**Re: st: RE: percent symbols in catplot***From:*Eric Booth <ebooth@ppri.tamu.edu>

- Prev by Date:
**st: re: Seeing Double - issues with quotation marks** - Next by Date:
**st: RE: re: Seeing Double - issues with quotation marks** - Previous by thread:
**Re: st: RE: percent symbols in catplot** - Next by thread:
**Re: st: RE: percent symbols in catplot** - Index(es):