While using PROC GMAP and device=javaimg, the PATTERN statement functionality seems to work partially. For missing values, I have defined the color to be white and when I use device=png,gif,... , it seems to work fine. But when I use device=javaimg, the missing values color changes to other colors. Is there a trick to get around this?
Any chance you are using Options nogstyle? Javaimg doesn't honor that option.
Also are you using the CDEFAULT option if doing a choropleth map?
No, I'm not using OPTIONS NOGSTYLE or CDEFAULT.
Here is the code I'm using:
pattern1 v=s c=white;
pattern2 v=s c=color2;
pattern3 v=s c=color3;
pattern4 v=s c=color4;
goptions hsize=12 vsize=9 device=javaimg;
Proc gmap data=zip map=map;
id zip;
choro rate/discrete missing
annotate=anno
coutline=black
legend=legend1
format rate g&form._as.;
run;
When I run the procedure, SAS ignores the pattern1 which is defined for missing values and puts a new color for missing values in the legends.
Use CDEFAULT as an option to CHORO.
CDEFAULT is not supported by java.
White should be assigned to the first non-missing value, formatted value, level or midpoint option. What value does your format g&form._as assign to missing?
For missing, the value assigned is "." .
Since you don't appear to be requesting a statistic from the value I would try setting the missing to a value way outside your other data (-1e8 or similar) and include that value in your format.
With out seeing a map its hard to tell but I think your comment "missing values color changes to other colors" indicates that missing may be treated differently that an actual value.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.