[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

From |
Friedrich Huebler <[email protected]> |

To |
[email protected] |

Subject |
st: Re: Graphing RAREA with two crossing functions |

Date |
Fri, 17 Oct 2003 08:23:59 -0700 (PDT) |

--- Ernest Berkhout <[email protected]> wrote: > The idea seems simple, the implementation that I tried so far > appears to be not... Therefor I firstly report what I have managed > to tackle myself, but finally there are still some open ends. > Anyone out there who might have a clue? > > The problem is as follows: imagine a twoway (overlayed) graph with > two lines that cross eachother (maybe more than once), for example > Y = sin(x) and Y2 = 0.2. > Now I want to shade the closed areas between these two lines. If > possible, I also want different colors for the two possibilities > Y>Y2 and Y<Y2. My first approach was to copy minimum and maximum > values and then use the -twoway rarea- approach. > > *********************************** > The example can be reproduced with: > > set obs 100 > gen x = _n/10 > gen y = sin(x) > gen y2=.2 > > *** create low/high-series for the areas where Y>Y2: > gen low1 = y2 if y > y2 > gen high1 = y if y > y2 > > *** create low/high-series for the areas where Y<Y2: > gen low2 = y if y < y2 > gen high2 = y2 if y < y2 > > twoway (line y x) (line y2 x ) (rarea low1 high1 x ) (rarea low2 > high2 x ) > ******************************** > > This yields two problems: > 1. The shaded area of this graph does not extend until the > exact points of intersection, especially when there are relatively > few datapoints. The 'edges' of the area are left blank. > 2. Follows from problem 1: although the variables low1 and high1 > are set to missing when the values of Y are below Y2 (low1>high1), > there is still an area to plot for Stata, namely from the last > non-missing observations to the first non-missing observations from > the next area where Y>Y2 again. > > I managed to work around most of the second problem, by setting > low1 & high1 equal to either Y or Y2 instead of missing. Then the > code reads: > > gen low1 = y2 if y > y2 > gen high1 = y if y > y2 > replace low1 = y2 if low1==. > replace high1= y2 if high1==. > > But when datapoints aren't many (or when functions aren't that > smooth as in my example), problem 1 still leaves behind its marks. > What is really needed is a way to adress the graph to fill the area > up untill the intersection points (and not any further). > Does anyone have a clue? Is it possible to adress the intersection > in a continuous way, or does one manually has to compute these > points and add them (temporarily) to the data? Any opinions are > welcome! Ernest, As far as I know, you have to compute the missing values yourself. The option -plotregion(margin(zero))- is also useful in this context. The syntax below seems to do what you want. I changed the first two commands and the last command. set obs 101 gen x = _n/10 - 0.1 gen y = sin(x) gen y2=.2 *** create low/high-series for the areas where Y>Y2: gen low1 = y2 if y > y2 gen high1 = y if y > y2 replace low1 = y2 if low1==. replace high1= y2 if high1==. *** create low/high-series for the areas where Y<Y2: gen low2 = y if y < y2 gen high2 = y2 if y < y2 twoway (line y x) (line y2 x ) (rarea low1 high1 x ) (rarea low2 high2 x ), plotregion(margin(zero)) Friedrich Huebler __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com * * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**References**:**st: Graphing RAREA with two crossing functions***From:*Ernest Berkhout <[email protected]>

- Prev by Date:
**st: Stata 8 graphics -adding ylines on TOP of lfitci?** - Next by Date:
**st: RE: simulating data -- gamma distributed variables with known correlation** - Previous by thread:
**st: Graphing RAREA with two crossing functions** - Next by thread:
**Re: st: Graphing RAREA with two crossing functions** - Index(es):

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