hi ... here's something that I have used for similar problems (it's looks LONG, but I had to create a NJ response data set ... that's data that you already have so all you have to do for the response data set is step #2) #1 add an observation to the map data set with a non-NJ county number (I used 999) #2 add an observation to the response data with the same county number and a value to be mapped that falls in the missing range (5-19) #3 you get a map with only 3 colors, but a legend with 4 entries * New Jersey map data set; proc gproject data=maps.counties out=nj; id county; where state eq 34 and density lt 6; run; * response data set with one observation per county; proc sql; create table njfake as select distinct county from nj; quit; * add one observation to the map data set ... a point with county = 999; data nj; set nj end=last; output; if last then do; county = 999; output; end; run; * add some data to the response data set ... no observations in the range 5 to 19; data njfake; array x(3) _temporary_ (3 25 75); set njfake; dummy = x(rantbl(999,.33,.33)); run; * add one observation to the response data set ... county = 999, dummy in the range 5-19; data njfake; set njfake end=last; output; if last then do; county = 999; dummy = 5; output; end; run; proc format; value comm 1-4 = '1 - 4' 5-19 = '5 - 19' 20-49 = '20 - 49' 50-high = '50 - 885'; run; goptions reset=all ftext='calibri' htext=2 gunit=pct; legend1 mode=share origin=(5,45)pct shape=bar(3,4)pct across=1 label=(position=top '!!! HOORAY !!!'); title h=4 'THREE COLORS IN MAP, FOUR COLORS IN LEGEND' ls=2; * draw the map ... legend has four entries, map has three colors (you cannot see county 999); proc gmap data=njfake map=nj all; id county; choro dummy / discrete legend=legend1 coutline=black; format dummy comm.; run; quit;
... View more