/**********************************************************************/ data central; set maps.uscounty; if state=stfips('ia') /* select states in central */ or state=stfips('ks') /* United States */ or state=stfips('mo') or state=stfips('ne'); run; /**********************************************************************/ proc gremove data=central out=outline; by state; id state county; run; /**********************************************************************/ data anno; retain xsave ysave; drop xsave ysave; length function color $8; retain xsys ysys '2' /* use map data coordinate system */ color 'black' /* color of state outlines */ size 6 /* thickness of state outlines */ when 'a'; /* annotation to be drawn after map */ set outline; by state segment ; if first.segment then do; /* if first point in polygon */ function = 'move' ; /* then move to that location */ xsave = x ; /* and store coordinates in */ ysave = y ; /* XSAVE and YSAVE variables */ output ; end; else do; /* if not first point, then draw */ function = 'draw'; output ; if last.segment then do; /* if last point in a segment */ x=xsave; /* connect with first point in */ y=ysave; /* segment to complete polygon */ output ; end; end; run; /**********************************************************************/ data resp; input statec $ county anthills; state=stfips(statec); cards; ia 1 15 ia 3 27 ia 5 34 ia 7 13 . . . . . . . . . . . . ks 1 22 ks 3 16 ks 5 38 . . . . . . . . . mo 1 8 mo 3 15 mo 5 32 mo 7 19 . . . . . . . . . ne 1 7 ne 3 33 ne 5 22 run; /**********************************************************************/ proc format; value antfmt 0-10='0-10' 11-20='11-20' 21-30='21-30' 31-40='31-40'; run; /**********************************************************************/ goptions target=psl rotate=landscape htext=2 pct ftext=swiss; proc gmap data=resp map=central; id state county; choro anthills/ anno=anno /* annotate data set containing state */ /* outlines */ discrete coutline=black /* color for county outlines */ legend=legend1; format anthills antfmt.; legend1 frame label=(j=c '# OF ANT HILLS' j=c '(IN MILLIONS)'); pattern1 v=msolid c=graydd; pattern2 v=msolid c=grayaa; pattern3 v=msolid c=gray88; pattern4 v=msolid c=gray55; title f=swissb h=5 pct 'ANT HILL DISTRIBUTION IN CENTRAL REGION'; run;