I heard that show='ATTRMAP' will show the missing group in the legend. I tried the following code but it is not working. Can anyone help ? thanks.
data order;
input Value $ n;
retain ID 'A' Show 'AttrMap';
FillStyle = cats('GraphData', n);
LineStyle = cats('GraphData', n);
MarkerStyle = cats('GraphData', n);
TextStyleElement = cats('GraphData', n);
datalines;
F 2
M 1
;
run;
data test;
set sashelp.class;
if sex='F' then delete;
run;
ods listing close;
ods rtf file='c:\mytest.rtf';
proc sgplot data=test dattrmap=order ;
scatter x =height y = weight / group=sex attrid=A name="sct";
keylegend "sct" / noborder position=bottom ;
run;
ods rtf close;
ods listing;
I ran your code using SAS 9.40M3, and it worked as expected. The symbol for "F" was included inthe legend even though there is no "F" in the data. Please make sure you have SAS 9.40M3 or later.
I don't see where you have show = 'ATTRMAP' in the code
If you are getting an error show the log with code and error in a code box opened with the forum {i} menu icon.
Hi,
show is a variable in dataset order.
it has the value "ATTRMAP'.
When later attrmap=order is used in scatter plot, it should display the missing group in the legend.
that is what I am expecting . However, the missing group is not in lengend.
I ran your code using SAS 9.40M3, and it worked as expected. The symbol for "F" was included inthe legend even though there is no "F" in the data. Please make sure you have SAS 9.40M3 or later.
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.