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]
RE: st: bar graph axis color- frustrated
From
"Nick Cox" <[email protected]>
To
<[email protected]>
Subject
RE: st: bar graph axis color- frustrated
Date
Fri, 11 Jun 2010 18:27:30 +0100
Reference for -labmask-
SJ-8-2 gr0034 . . . . . . . . . . Speaking Stata: Between tables and
graphs
(help labmask, seqvar if installed) . . . . . . . . . . . . N.
J. Cox
Q2/08 SJ 8(2):269--289
outlines techniques for producing table-like graphs
Nick
[email protected]
Nick Cox
This information to me supports my earlier suggestion. Given this kind
of problem my focus would be entirely on creating a results set,
alongside or independently of your dataset. If you create an axis
variable running 1,2,3,... and associated text labels, then a helper
program -labmask- was written up in the Stata Journal which maps values
to value labels.
A strategy would be
* initialise variables
gen axisorder = _n
gen label = ""
gen num1 = .
gen num2 = .
local obsno = 1
* loop over possibilities
quietly foreach <loopinfo> {
replace label = "<text for this situation>" in `obsno'
replace num1 = <result for this situation> in `obsno'
local ++obsno
}
labmask axisorder, val(label)
graphics in terms of axisorder, num1, num2, etc.
I don't see that you need StataCorp to fix the graphics. Conversely, a
fix general enough to tackle what you want to do would probably result
in a syntax very difficult to understand.
A limitation of the graph you displayed is that very space is devoted to
data and that the two sets are difficult to compare precisely.
Overlaying the graphs seems indicated.
Nick
[email protected]
Fred Wolfe
I hope I can explain it it. First, let me say that I think I can
figure out ways to do this by reorganizing the data. But the time
involved in doing this is (at least for me) too long.
Consider the example below:
http://screencast.com/t/NjUwNmE3YTMt
This is a special case of a general problem. Special because in this
instance it is a results data set that was made by copying results
from Stata to a new data set.
In this instance, each named line represents a different variable. The
code for one side of the graph is:
use raoadotplotdata, clear
graph dot (asis) age - all ,ascat ylab(.5 [.1] 1) exclude0
schem(bw) ytit(Concordance coefficient) xsize(4) ysize(5.3)
by(type,note(""))
Now, what I would really like to be able to do is to not use "by" and
have both types of symbols (RA and OA) be displayed on each line. If I
simply do over(), the groups are placed far apart.
So, in general, I would like a simple way to manage multiple variables
and to display the by group or over group results on the same line or
immediately below the same line.
I have looked at stripplot, the manual, and Michael's book to no avail.
It is usually that when I come to conclusions like this there is a
simple solution that I have overlooked. I hope it is the case now.
On Fri, Jun 11, 2010 at 6:24 AM, Nick Cox <[email protected]> wrote:
> Fred has raised similar issues before, but I am still fuzzy about what
> the precise problem is.
>
> Perhaps Fred could expand on the nitty-gritty of his difficulties with
a
> small realistic data example or two.
>
> My guess is that the right kind of solution might not be a hit to
> Stata's graphics, but some helper commands that prepare datasets to be
> fed to the graphics.
>
> Nick
> [email protected]
>
> Fred Wolfe
>
> As an aside, both Michael's book and the manual spend much time in
> graph bar and dot with over(). I usually have multiple variables with
> overlapping groups. Over() doesn't help. I do wish that Stata might
> address that very common problem (at least for me).
*
* 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/