SAS中文论坛

标题: 带有break Y axis (破断线Y轴)的图形 [打印本页]

作者: shiyiming    时间: 2010-10-22 13:32
标题: 带有break Y axis (破断线Y轴)的图形
From sxlion's blog on Sohu

<div style="FONT-SIZE: 14px; LINE-HEIGHT: 160%">
<div style="FONT-SIZE: 14px; LINE-HEIGHT: 160%">
<p><a href="http://pp.sohu.com/photoview-328417737-36248359.html" target="_blank"><img style="DISPLAY: block; MARGIN: 0px auto 10px; TEXT-ALIGN: center" alt="" src="http://1811.img.pp.sohu.com.cn/images/blog/2010/7/27/14/3/12ac5e16d77g214.jpg" border="0" /></a></p></div>
<p>/* Set graphics options */<br />FILENAME file &quot;c:\breakaxis.png&quot;;<br />goptions reset=all vsize=14cm hsize=14cm noborder device=png gsfname=file;;</p>
<p>/* Create input data set, A */<br />data a;<br />&nbsp; input xvar yvar&nbsp; g;<br />&nbsp; datalines;<br />1 2 1<br />2 4 1<br />3 3 1<br />4 5 1<br />5 9 1<br />6 7 1<br />7 8 1<br />8 9 1<br />9 6 1<br />10 7 1<br />1 1500 2<br />2 4000 2<br />3 3000 2<br />4 3200 2<br />5 6000 2<br />6 6500 2<br />7 7300 2<br />8 5300 2<br />9 7000 2<br />10 6500 2<br />1 1800 3<br />2 2000 3<br />3 2500 3<br />4 3200 3<br />5 5000 3<br />6 5500 3<br />7 6000 3<br />8 8000 3<br />9 7500 3<br />10 7000 3<br />;</p>
<p>/* Create annotate data set, ANNO */<br />data anno;<br />&nbsp; length function style color $8;<br />&nbsp; retain xsys '5' ysys '2'&nbsp; when 'a' style 'solid';<br />&nbsp; /* Draw a solid white box to cover the vaxis area where the */<br />&nbsp; /* break occurs.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />&nbsp; function='move'; x=1; y=50; output;<br />&nbsp; function='bar'; x=8;&nbsp; y=300;&nbsp; color='white'; output;<br />&nbsp; /* Now draw the jagged line where the vaxis breaks. */<br />&nbsp; color='black'; size=1;<br />&nbsp; function='move'; xsys='1'; x=0;&nbsp; ysys='2'; y=65;&nbsp; output;<br />&nbsp; function='draw'; xsys='B'; ysys='B'; x=+2; y=+3.5; output;<br />&nbsp; function='draw';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x=-4; y=+3; output;<br />&nbsp; function='draw'; xsys='1'; x=0;&nbsp; ysys='2'; y=285; output;<br />run;</p>
<p>/* Assign symbol definitions */<br />symbol1 i=j v=none c=blue w=6;<br />symbol2 i=j v=none c=orange w=6;<br />symbol3 i=j v=none c=red w=6;<br />/* Add the title */<br />title1 h=2.5 'Break Vaxis';<br />/* Create axis definitions */<br />title3 justify=l&nbsp; 'Data from:...';&nbsp; <br />title4 justify=l&nbsp; 'Code available: sxlion.blog.sohu.com';&nbsp;&nbsp; <br />axis1 order=(0 to 8 by 4, 250 1000 to 10000 by 3000)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; minor=none width=1;<br />axis2 order=(0 to 10.5 by 1) minor=none width=1;<br />/* Produce the plot */<br />proc gplot data=a;<br />&nbsp; plot yvar*xvar=g / vaxis=axis1 haxis=axis2&nbsp; noframe <br />anno=anno<br />nolegend<br />;<br />run;<br />quit;</p>
<p>&nbsp;</p></div>




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2