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 |
Davide Cantoni <davide.cantoni@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Suppress labeling of categorical axis values in graph bar/hbar |

Date |
Mon, 20 Dec 2010 15:12:04 +0100 |

Eric -- thanks for your reply. It is somehow convincing me that I am almost as well off by typing out the relabel() option manually. The other thing I wonder is how to get rid of the numbers on the categorical axis. In your second code, which works fine, there are still the ordinal numbers of each observation, instead of the names, left. There's no way to suppress those? Davide On 18 December 2010 23:31, Eric Booth <ebooth@ppri.tamu.edu> wrote: > <> > > I think that working with the relabel option is your best bet. You can automate > the creation of the relabel() expression with a loop, but normally I'd suggest > building it in a local macro , but I couldn't get the local to store the double > quotes for use in the relabel option. > > Here's some examples of things I tried: > > ***! > sysuse auto, clear > forval n = 1/`=_N' { > loc la1 `la1' `"`n' " " "' > loc la2 `la2' "`n' " " " > loc la3 `la3' `n' `" "' > loc la4 `"`la4' `n' " "'"' > } > forval n = 1/4 { > di in y as smcl "`n' {hline}" > di in g "`la`n''" > } > ***! > Anyone have an idea of how to store the double quotes in a local to pass to the > relabel option? > > > Since using the local didn't work for me, here's a less straightforward solution > using a couple of string variables (which are limited to 244 chars) to do essentially > the same thing: > > ***********! > sysuse auto, clear > > foreach v in "1/15" "16/30" "31/45" "46/60" "61/74" { > **get variable name** > loc varname `v' > loc varname: subinstr local varname `"/"' "", all > > **create "o" vars with relabel option** > g o`varname' = "" > forval n = `v' { > if !inlist(`n', 1, 20, 40, 60 , 74) /// > replace o`varname' = o`varname' + `" `n' " " "' > if inlist(`n', 1, 20, 40, 60 , 74) /// > replace o`varname' = o`varname' + `" `n' "`=make[`n']' ""' > } > } > > ds o* //<-- Here's the new vars for relabel() > > graph hbar (asis) price, bargap(10) /// > over(make, relabel(`=o115' /// > `=o1630' `=o3145' `=o4660' `=o6174') /// > label(angle(horizontal) labsize(vsmall) labgap(5))) > > ***********! > > After kludging all this together, it might be more work than typing out > the relabel() for 74 obs in the auto.dta; however, it would be useful > for much larger datasets. (However, you can't get too much larger > before the bars become indistinguishable.) > > > - Eric > __ > Eric A. Booth > Public Policy Research Institute > Texas A&M University > ebooth@ppri.tamu.edu > Office: +979.845.6754 > Fax: +979.845.0249 > http://ppri.tamu.edu > > > On Dec 18, 2010, at 3:13 PM, Davide Cantoni wrote: > >> Hello, >> >> I would like to draw a bar chart displaying the values of a given >> variable for all the observations in the dataset. However, since there >> are many observations, I would like to label only some of them (some >> representative cases). Conceptually, this is similar to this working >> example: >> >> *** begin example >> sysuse auto, clear >> graph hbar (asis) price, over(make, sort(price)) >> *** end example >> >> As you can see, putting all the labels on the categorical axis leads >> to overcrowding. What I would like to do is to label only some >> representative examples, e.g. only "Renault Le Car", "VW Diesel" and, >> say, "Lincoln Versailles". I guess I can achieve the suppression of >> labels with some relabel() command inside the over() parenthesis, but >> given the large number of observations, this would be incredibly >> cumbersome. Any other suggestions? >> >> Thanks in advance, >> >> Davide >> * >> * 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: Suppress labeling of categorical axis values in graph bar/hbar***From:*Nick Cox <n.j.cox@durham.ac.uk>

**Re: st: Suppress labeling of categorical axis values in graph bar/hbar***From:*Eric Booth <ebooth@ppri.tamu.edu>

**References**:**st: Suppress labeling of categorical axis values in graph bar/hbar***From:*Davide Cantoni <davide.cantoni@gmail.com>

**Re: st: Suppress labeling of categorical axis values in graph bar/hbar***From:*Eric Booth <ebooth@ppri.tamu.edu>

- Prev by Date:
**Re: st:-expand- to adjust according to the sampling weight** - Next by Date:
**st: file name problem with stata2mplus** - Previous by thread:
**Re: st: Suppress labeling of categorical axis values in graph bar/hbar** - Next by thread:
**Re: st: Suppress labeling of categorical axis values in graph bar/hbar** - Index(es):