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

Re: st: RE: Labelling stacked histograms

From   "fran brittan" <>
Subject   Re: st: RE: Labelling stacked histograms
Date   Sat, 8 Nov 2008 00:42:39 +0000

Thank you very much, Martin and Nick! (also for the encouragement.)

I used your code to get rid of the label - I had tried the note("")
trick before but my mistake was to write it outside the parentheses
belonging to discrete by(var).

I hope this will make my main question clearer:
Var2 is numerical data, not string. I attached labels to the values
using this command:

label def var2 1 "value1" etc.

If I type "label list", it lists the values as I defined them.
If I just tabulate it, it shows the numerical values. I don't want to
change the variable to string.

However, the panels in the composite graph are distinguished by the
numerical values (1, 2 etc) instead of the value labels that I
attached to them (value1 etc). If I add a title, the same title
appears above each panel, which continue to be marked by the numerical
values underneath the title. I.e. the individual panel titles remain
the numerical value. I'd like to find a way to have the respective
value labels mark each panel, instead of the respective numerical

I hope my question is clearer this time - and I very much appreciate your help!


On Fri, Nov 7, 2008 at 5:17 PM, Nick Cox <> wrote:
> With
> . sysuse auto
> . histogram rep78, discrete by(foreign, col(1) note("")) gap(3) addl
> normal
> I can get rid of the note you don't want -- see -note("")- -- and my
> value labels show up automatically.
> I have to guess that your variable is not set up as you think it is with
> value labels attached. Does
> . tab var1
> show the labels?
> I don't understand your expectations about the legend. The legend
> applies to the whole graph, not individual panels. The individual panel
> titles come from the values, or value labels when attached.
> At least one of your questions took me 2 seconds to understand, but that
> was because of previous experience and detailed study of the
> documentation. You can't have a flexible graphics system with hundreds
> of handles that is also instantaneously understandable.
> Nick
> fran brittan
> I have another question that should be very simple in theory, but I
> couldn't work it out and neither could my colleagues.
> I want a histogram of one variable broken down by another, such as
> education levels by gender. I'm using the histogram var1, by var2
> format. I want the two histograms that are produced as a result within
> the combined graph to show the value label on top of each histogram,
> instead of showing the numeric code. I have tested that the data has
> the value labels I want, yet it's not showing up. I've tried
> manipulating the legend option but it keeps giving the key to the
> various aspects of the graphs (the density and the normal curve I
> superimposed) rather than to the individual histograms.
> Any help would be greatly appreciated!
> My basic command is:
> histogram var1, discrete by (var2, col(1)) gap(3) addl normal
> yscale(range(. .6))
> In addition, the overall graph (the combined histograms) has a note in
> the corner that reads "Graph by var2". I can't change this with the
> title command - if I add a title, this gets inserted above each
> histogram (the same text above each, and above the value code), while
> the "Graph by var2" notice stays unaffected.
> This is the kind of thing that should take two seconds and just
> devours time instead...
> *
> *   For searches and help try:
> *
> *
> *
*   For searches and help try:

© Copyright 1996–2019 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index