Bookmark and Share

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]

st: RE: Graphing: How to suppress labels on second y axis


From   "McDermaid, Cameron" <[email protected]>
To   <[email protected]>
Subject   st: RE: Graphing: How to suppress labels on second y axis
Date   Thu, 30 Sep 2010 16:04:51 -0400

Having tested this a little more thoroughly, unless I'm doing something wrong (script below) it appears r(max) isn't maintained in the loop so is missing when the alert`lev' is to be reset to 1, resulting in a missing values for the operation.

The solution is to use the local macro assignment of r(max) as I did previously or insert sum `lev'normalized, meanonly  before alert`lev'=alert`lev'/r(max) when the alert`lev' is to be reset to 1.

-cam

loc levels=" Respiratory Asthma ILI"  
foreach lev of loc levels {
sum `lev'count, meanonly 
replace alert`lev'= alert`lev'* r(max)
<<GRAPHING ACTIVITY>>
replace alert`lev'=alert`lev'/r(max)
}


> -----Original Message-----
> From: [email protected] [mailto:owner-
> [email protected]] On Behalf Of Nick Cox
> Sent: September 30, 2010 1:04 PM
> To: '[email protected]'
> Subject: st: RE: RE: RE: Graphing: How to suppress labels on second y
> axis
> 
> Two small points. It's a smidgen quicker and shorter to write
> 
> sum `lev'normalized, meanonly
> replace alert`lev'= alert`lev'* r(max)  /*adjusts alert to maximum value
> in line plot */
> 
> 1. -su, meanonly- despite its name yields the maximum (and some other
> stuff you can ignore). This is discussed at excruciating length in
> 
> SJ-7-3  st0135  . . . . . . . . . . . Stata tip 50: Efficient use of
> summarize
>         . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  N.
> J. Cox
>         Q3/07   SJ 7(3):438--439                                 (no
> commands)
>         tip on using the meanonly option of summarize to more
>         quickly determine the mean and other statistics of a
>         large dataset
> 
> 2. The business of putting r(max) in a local, and then reading from the
> local, can be shortened. This has been called "cutting out the middle
> macro".
> 
> Nick
> [email protected]
> 
> McDermaid, Cameron
> 
> I've made a tweak to Nick's suggestion below.  One rationale for using 2
> axes was that the primary Y axis is one scale that can vary with the
> data and the second Y axis is fixed from 0 -1 . Using Nick's suggested
> script below uses the alert's actual value (missing, 1) is plotted on
> the primary Y axis and is often out of scale as to be not easily seen,
> depending on the line graph data.
> 
> What I've done is adjust the alert value (1) to the maximum value of the
> data in the line plot then back to 1 once the plot is done.
> 
> e.g.
> 
> quietly: sum `lev'normalized
> local maxval: display `r(max)'
> replace alert`lev'= alert`lev'*`maxval'  /*adjusts alert to maximum
> value in line plot */
> 
> do the plot with || dropline `lev'normalized adm_date if alert`lev'<.,
> ms(i)
> 
> replace alert`lev'=alert`lev'/`maxval'  /*adjusts back to 1 for the next
> plot loop*/
> 
> This seems to be working.  Thanks again to Nick for a kick in the right
> direction.
> 
> 
> *
> *   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/

This e-mail originates from the City of Ottawa e-mail system. Any 
distribution, use or copying of this e-mail or the information it 
contains by other than the intended recipient(s) is unauthorized. 
If you are not the intended recipient, please notify me at the 
telephone number shown above or by return e-mail and delete 
this communication and any copy immediately. Thank you.

Le présent courriel a été expédié par le système de courriels de 
la Ville d'Ottawa. Toute distribution, utilisation ou 
reproduction du courriel ou des renseignements qui s'y trouvent 
par une personne autre que son destinataire prévu est interdite. 
Si vous avez reçu le message par erreur, veuillez m'en aviser par 
téléphone (au numéro précité) ou par courriel, puis supprimer 
sans délai la version originale de la communication ainsi que 
toutes ses copies. Je vous remercie de votre collaboration.

*
*   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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index