Hi SAS community!
I have a question about generating different color combinations for the sgplot. I know it might sound silly but it could really help me a lot!
The task is like that:
proc sgplot data= test;
series y=year x=banana / lineattrs=(color=Red pattern=dot)
markerattrs=(color=Red symbol=circlefilled);
series y=year x=strawberry / lineattrs=(color=black pattern=dot)
markerattrs=(color=black symbol=circlefilled);
series y=year x=grape / lineattrs=(color=blue pattern=dot)
markerattrs=(color=blue symbol=circlefilled);
title "production of fruit by year";
run;The plot draws several series of lines,
and I JUST want to test for the color of banana line first, with color of red, then green , then blue, etc.etc, as well as the patterns...
I've tried %array and % do_over but cannot make it work...
Thanks a lot!
1) Next is a documnentation of available color names in sas:
http://support.sas.com/publishing/authors/extras/62007_Appendix.pdf
2) You can run your code with a macro, suplying the color names to check:
%macro check_colors(colr1, colr2, colr3)
proc sgplot data= test;
series y=year x=banana / lineattrs=(color=&colr1 pattern=dot)
markerattrs=(color=&colr1 symbol=circlefilled);
series y=year x=strawberry / lineattrs=(color=&colr2 pattern=dot)
markerattrs=(color=&colr2 symbol=circlefilled);
series y=year x=grape / lineattrs=(color=&colr3 pattern=dot)
markerattrs=(color=&colr3 symbol=circlefilled);
title "production of fruit by year";
run;
%mend check_colors;
%check_colors(red, black, blue); /* replace by any other set of 3 color names */
1) Next is a documnentation of available color names in sas:
http://support.sas.com/publishing/authors/extras/62007_Appendix.pdf
2) You can run your code with a macro, suplying the color names to check:
%macro check_colors(colr1, colr2, colr3)
proc sgplot data= test;
series y=year x=banana / lineattrs=(color=&colr1 pattern=dot)
markerattrs=(color=&colr1 symbol=circlefilled);
series y=year x=strawberry / lineattrs=(color=&colr2 pattern=dot)
markerattrs=(color=&colr2 symbol=circlefilled);
series y=year x=grape / lineattrs=(color=&colr3 pattern=dot)
markerattrs=(color=&colr3 symbol=circlefilled);
title "production of fruit by year";
run;
%mend check_colors;
%check_colors(red, black, blue); /* replace by any other set of 3 color names */
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.