%let name=surf1; filename odsout '.'; data nums; keep X Y Z; do i=1 to 30; X=10*ranuni(33)-5; Y=10*ranuni(35)-5; Z=sin(sqrt(x*x+y*y)); output; end; run; proc g3grid data=nums out=a; grid y*x=z / spline axis1=-5 to 5 by .2 axis2=-5 to 5 by .2; run; /* Shift the z's up a little, so all the z's are > 0. This is not necessary, but makes the axes look cleaner for this example graph. */ data a; set a; z=z+2; run; GOPTIONS DEVICE=gif; ODS LISTING CLOSE; ODS HTML path=odsout body="&name..htm" (title="3D Surface Plot") style=minimal; goptions noborder; goptions gunit=pct htitle=6 ftitle="albany amt/bold" htext=4.25 ftext="albany amt/bold"; goptions xpixels=720 ypixels=600; title link="surf2.htm" "3D Surface Contour Plot"; proc g3d data=a; plot y*x=z / grid ctop=cx993366 cbottom=cx9999ff caxis=black zmin=0 zmax=4 zticknum=3 xticknum=3 yticknum=3 des="" name="&name" ; run; quit; ODS HTML CLOSE; ODS LISTING;