BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
JacAder
Obsidian | Level 7

Dear SAS community, I would like to use "pattern" option in "Band" statement, but the code does not work.

 

Referring to the instruction under 

https://documentation.sas.com/?docsetId=grstatproc&docsetTarget=n1t2ihc734azuvn17021ri2cl057.htm&doc...

 

I use FILLPATTERN and FILLPATTERNATTRS=(pattern=R1) in "band" statement. it does not work. Thank you as always!

 

proc sgplot data=Density;
 series x=height ;
 band x=height upper=upside lower=lowside / fillattrs=(color=red transparency=0.7) FILLPATTERN FILLPATTERNATTRS=(pattern=R1) legendlabel="Lower Decile";
run;

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
MCoopmans
SAS Employee

Hello,

 

The fillpattern option was introduced with SAS 9.4 M5, you can read more about that here: https://documentation.sas.com/?docsetId=grstatproc&docsetTarget=grstatprocwhatsnew94.htm&docsetVersi... 

You should consider upgrading...

greetings,

Mathias.

View solution in original post

4 REPLIES 4
MCoopmans
SAS Employee

Hello,

 

The series statement needs both an x= and a y= argument. You can omit the "series" statement and only have a "band" when you don't have a variable to plot and only want the bands to be visible.

 

running this example would generate some data and a plot including a pattern in the band as expected:

 

data want;
 value=INT(ranuni(765)*100);
 _up=value*.1;
 _low=_up;
 do x=1 to 100;
  value=value+(10-CEIL(20*ranuni(203)));
  up=value+_up;
  low=value-_low;
  _up=_up+(4-CEIL(5*ranuni(203)));
  _low=_low+(4-CEIL(5*ranuni(203)));
  output;
 end;
 drop _:;
run;

proc sgplot data=want;
 series x=x y=value;
 band x=x upper=up lower=low / fillattrs=(color=red transparency=0.7)
     FILLPATTERN FILLPATTERNATTRS=(pattern=R3) legendlabel="Lower Decile";
run;

and this is the output generated.

 

sgplot.png

 

All the best,

Mathias.

 

 

JacAder
Obsidian | Level 7

Mathias, really appreciate your help!  I tried the code, and the same error is still there:

JacAder_0-1595027859484.png

JacAder_1-1595027985138.png

 

then I use "fill" rather than "fillpattern", the error is as following:

JacAder_0-1595028180763.png

 

is the error SAS version specific? 

 

MCoopmans
SAS Employee

Hello,

 

The fillpattern option was introduced with SAS 9.4 M5, you can read more about that here: https://documentation.sas.com/?docsetId=grstatproc&docsetTarget=grstatprocwhatsnew94.htm&docsetVersi... 

You should consider upgrading...

greetings,

Mathias.

JacAder
Obsidian | Level 7

thanks again, will make my supervisor aware.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1696 views
  • 0 likes
  • 2 in conversation