Prev: PROC GLM: Contrast/Estimate
Next: reading ssd01 files
From: Ching on 12 Nov 2009 20:55 Hi all. May I please ask how can I produce the figure as that on http://erj.ersjournals.com/cgi/content/abstract/32/3/603 Figure 2 but with varying y-interval ie 1 to 3 by 0.5 and from 3 to 6 by 3 (so the y major ticks will be at 1,1.5,2,2.5,3,6). I don't want broken y-axis since it'll cut off the confidence intervals. I've searched SUGI and SAS website but unfortunately I can't find anything regarding my problem. Many thanks. Have a great weekend.
From: Arthur Tabachneck on 12 Nov 2009 23:55 Ching, I think that the following example, modified from one one Robert Allison's incredibly excellent examples ( http://robslink.com/SAS/Home.htm ) might come quite close to what you are looking for: %let name=corvette; filename odsout '.'; data work.a; length style $15; input year style trade private retail; cards; 1989 Base 5250 7075 9625 1989 Convert 6300 8275 11050 1990 Base 5775 7675 10400 1990 Convert 6900 8975 11950 1990 ZR1 13050 16050 20400 1991 Base 6400 8325 11050 1991 Convert 7675 9800 12800 1991 ZR1 14600 17650 22100 1992 Base 7075 9075 11950 1992 Convert 8500 10650 13800 1992 ZR1 16200 19300 24000 1993 Base 7875 9900 12850 1993 Convert 9425 11650 14900 1993 ZR1 17900 21100 26000 1994 Base 8750 10850 13900 1994 Convert 10425 12750 16150 1994 ZR1 19700 23000 28000 1995 Base 9800 11950 15150 1995 Convert 11650 13950 17450 1995 ZR1 23275 26900 32300 1996 Base 10950 13200 16550 1996 Convert 12950 15350 19000 1997 Base 14400 17150 21300 1998 Base 16400 19250 23600 1998 Convert 19800 22900 27700 1999 Base_HT 16300 19150 23500 1999 Base 18525 21500 26100 1999 Convert 22400 25600 30700 2000 Base_HT 18875 22000 26800 2000 Base 21350 24500 29600 2000 Convert 25600 29000 34500 2001 Base 23675 26900 32000 2001 Z06 28425 31800 37400 2001 Convert 28325 31600 37200 ; run; /* Re-structure the data for hi/lo/close plot */ data a; set a; length combined $30; length type $10; format price dollar10.0; combined=trim(left(year))||'_'||trim(left(style)); price=retail; type='retail'; output; price=trade; type='trade'; output; price=private; type='private'; output; run; proc print data=a; run; proc sql; create table a as select year, price, type, style, combined from a order by combined; quit; run; data a; set a; stylechar='B'; if style='Convert' then stylechar='C'; if style='Z06' then stylechar='Z'; if style='ZR1' then stylechar='Z'; run; data a; set a; length myhtml $200; myhtml='title='|| quote( 'Year/Style: '||trim(left(combined))||'0D'x|| trim(left(type))||' used price: '||trim(left(put (price,dollar10.0)))||' ' ) || ' href='||"http://www.chevrolet.com/corvette/"||' ' ; run; GOPTIONS DEVICE=gif; ODS LISTING CLOSE; ODS HTML path=odsout body="&name..htm" (title="Used Corvette Price info (Kelley Blue Book, 2003)") style=minimal; goptions border; goptions ftitle="arial/bo" ftext="arial" gunit=pct htitle=3 htext=2; axis1 label=none offset=(2,2) major=none minor=none value=(angle=90); axis2 label=none offset=(0,0) order=(0 to 20000 by 5000, 20000 to 30000 by 10000 30000 to 40000 by 10000 ) minor=none; title1 'Used Corvette Prices'; title2 'Based on Kelley Blue Book, July-December 2003 edition'; title3 a=-90 h=2pct " "; footnote1 'Legend: ' c=red 'B=Base Model ' c=blue 'C=Convertible ' c=magenta 'Z=ZR1 or Z06'; footnote2 '3 Prices per Line Segment: trade-in, private-party, and retail'; footnote3 ' '; symbol1 interpol=hiloct font="arial/bold" v='B' cv=cxff0000 ci=black width=1 height=2.5; symbol2 interpol=hiloct font="arial/bold" v='C' cv=cx0000ff ci=black width=1 height=2.5; symbol3 interpol=hiloct font="arial/bold" v='Z' cv=magenta ci=black width=1 height=2.5; goptions cback=cornsilk; proc gplot data=work.a uniform; plot price*combined=stylechar / vaxis=axis2 vzero autovref cvref=graydd href= '1989_Base' '1990_Base' '1991_Base' '1992_Base' '1993_Base' '1994_Base' '1995_Base' '1996_Base' '1997_Base' '1998_Base' '1999_Base' '2000_Base' '2001_Base' chref=graydd haxis=axis1 nolegend html=myhtml des="" name="&name"; run; quit; ODS HTML CLOSE; ODS LISTING; HTH, Art -------------- On Nov 12, 8:55 pm, Ching <kcwo...(a)gmail.com> wrote: > Hi all. > > May I please ask how can I produce the figure as that onhttp://erj.ersjournals.com/cgi/content/abstract/32/3/603Figure 2 but > with varying y-interval ie 1 to 3 by 0.5 and from 3 to 6 by 3 (so the > y major ticks will be at 1,1.5,2,2.5,3,6). I don't want broken y-axis > since it'll cut off the confidence intervals. > > I've searched SUGI and SAS website but unfortunately I can't find > anything regarding my problem. > > Many thanks. Have a great weekend.
From: Nathaniel Wooding on 13 Nov 2009 09:38 Unfortunately, I cannot see the graph since I do not have a subscription to the journal. Can you paste the graph into your message (please do not send it as an attachment since SAS L blocks attachments). Nat Wooding -----Original Message----- From: SAS(r) Discussion [mailto:SAS-L(a)LISTSERV.UGA.EDU] On Behalf Of Ching Sent: Thursday, November 12, 2009 8:56 PM To: SAS-L(a)LISTSERV.UGA.EDU Subject: varying y-interval/scale Hi all. May I please ask how can I produce the figure as that on http://erj.ersjournals.com/cgi/content/abstract/32/3/603 Figure 2 but with varying y-interval ie 1 to 3 by 0.5 and from 3 to 6 by 3 (so the y major ticks will be at 1,1.5,2,2.5,3,6). I don't want broken y-axis since it'll cut off the confidence intervals. I've searched SUGI and SAS website but unfortunately I can't find anything regarding my problem. Many thanks. Have a great weekend. CONFIDENTIALITY NOTICE: This electronic message contains information which may be legally confidential and or privileged and does not in any case represent a firm ENERGY COMMODITY bid or offer relating thereto which binds the sender without an additional express written confirmation to that effect. The information is intended solely for the individual or entity named above and access by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution, or use of the contents of this information is prohibited and may be unlawful. If you have received this electronic transmission in error, please reply immediately to the sender that you have received the message in error, and delete it. Thank you.
From: Ching on 15 Nov 2009 18:57 Sorry Nat, it cannot be done. I'll start from what Arthur suggested first. But I do appreciate you trying to help. Have a great day!
|
Pages: 1 Prev: PROC GLM: Contrast/Estimate Next: reading ssd01 files |