/* Uisng a random number to generate the pinwheels dataset */
/* Depends when the program is run, the shape can be quite different */
data pinwheels;
rand1 = rand('uniform');
group = 0; id = 0; x = 0; y = 0; output;
x = rand1; y = 1 - x; output;
x = 1; y = 1; output;
x = 0; y = 1; output;
x = 0; y = 0; output;
group = 0; id = 1; x = 0; y = 0; output;
x = rand1 - 1; y = rand1; output;
x = -1; y = 1; output;
x = -1; y = 0; output;
x = 0; y = 0; output;
group = 0; id = 2; x = 0; y = 0; output;
x = -1 * rand1; y = -1* (1 - rand1); output;
x = -1; y = -1; output;
x = 0 ; y = -1; output;
x = 0; y = 0; output;
group = 0; id = 3; x = 0; y = 0; output;
x = 1 - rand1; y = -1 * rand1; output;
x = 1; y = -1; output;
x = 1 ; y = 0; output;
x = 0; y = 0; output;
group = 1; id = 0; x = 0; y = 0; output;
x = -1*(1 - rand1); y = rand1; output;
x = -1; y = 1; output;
x = -1 ; y = 0; output;
x = 0; y = 0; output;
group = 1; id = 1; x = 0; y = 0; output;
x = -1* rand1; y = -1 *(1-rand1); output;
x = -1; y = -1; output;
x = 0 ; y = -1; output;
x = 0; y = 0; output;
group = 1; id = 2; x = 0; y = 0; output;
x = 1 - rand1; y = -1 *rand1; output;
x = 1; y = -1; output;
x = 1 ; y = 0; output;
x = 0; y = 0; output;
group = 1; id = 3; x = 0; y = 0; output;
x = rand1; y = 1 - rand1; output;
x = 1; y = 1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group = 2; id = 0; x = 0; y = 0; output;
x = -1*rand1; y = -1 *(1- rand1); output;
x = -1; y = -1; output;
x = 0 ; y = -1; output;
x = 0; y = 0; output;
group = 2; id = 1; x = 0; y = 0; output;
x = 1 -rand1; y = -1 *rand1; output;
x = 1; y = -1; output;
x = 1 ; y = 0; output;
x = 0; y = 0; output;
group = 2; id = 2; x = 0; y = 0; output;
x = rand1; y = 1 - rand1; output;
x = 1; y = 1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group = 2; id = 3; x = 0; y = 0; output;
x = -1 *(1- rand1); y = rand1; output;
x = -1; y = 1; output;
x = -1 ; y = 0; output;
x = 0; y = 0; output;
group = 3; id = 0; x = 0; y = 0; output;
x = 1 -rand1; y = -1 * rand1; output;
x = 1; y = -1; output;
x = 1 ; y = 0; output;
x = 0; y = 0; output;
group = 3; id = 1; x = 0; y = 0; output;
x = rand1; y = 1 - rand1; output;
x = 1; y = 1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group = 3; id = 2; x = 0; y = 0; output;
x = -1 * (1 - rand1); y = rand1; output;
x = -1; y = 1; output;
x = -1 ; y = 0; output;
x = 0; y = 0; output;
group = 3; id = 3; x = 0; y = 0; output;
x = -1 * rand1; y = -1 *(1-rand1); output;
x = -1; y = -1; output;
x = 0 ; y = -1; output;
x = 0; y = 0; output;
group = 4; id = 0; x = 0; y = 0; output;
x = 1 *rand1; y = 1 - rand1; output;
x = -1; y = 1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group = 4; id = 1; x = 0; y = 0; output;
x = 1 - rand1; y = rand1; output;
x = 1; y = 1; output;
x = 1 ; y = 0; output;
x = 0; y = 0; output;
group = 4; id = 2; x = 0; y = 0; output;
x = rand1; y = -1 * (1-rand1); output;
x = 1; y = -1; output;
x = 0 ; y = -1; output;
x = 0; y = 0; output;
group = 4; id = 3; x = 0; y = 0; output;
x = -1 * (1-rand1); y = -1 * rand1; output;
x = -1; y = -1; output;
x = -1; y = 0; output;
x = 0; y = 0; output;
group = 5; id = 0; x = 0; y = 0; output;
x = 1 -rand1; y = rand1; output;
x = 1; y = 1; output;
x = 1 ; y = 0; output;
x = 0; y = 0; output;
group = 5; id = 1; x = 0; y = 0; output;
x = rand1; y = -1 * (1-rand1); output;
x = 1; y = -1; output;
x = 0 ; y = -1; output;
x = 0; y = 0; output;
group = 5; id = 2; x = 0; y = 0; output;
x = -1*(1-rand1); y = -1* rand1; output;
x = -1; y = -1; output;
x = -1 ; y = 0; output;
x = 0; y = 0; output;
group = 5; id = 3; x = 0; y = 0; output;
x = -1*rand1; y = 1 - rand1; output;
x = -1; y = 0; output;
x = 0; y = 1; output;
x = 0; y = 0; output;
group = 6; id = 0; x = 0; y = 0; output;
x = -1*(1 -rand1); y = -1* rand1; output;
x = -1; y = -1; output;
x = -1 ; y = 0; output;
x = 0; y = 0; output;
group = 6; id = 1; x = 0; y = 0; output;
x = -1 * rand1; y = 1-rand1; output;
x = -1; y = 1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group = 6; id = 2; x = 0; y = 0; output;
x = 1-rand1; y = rand1; output;
x = 1; y = 1; output;
x = 1 ; y = 0; output;
x = 0; y = 0; output;
group = 6; id = 3; x = 0; y = 0; output;
x = rand1; y = -1 *(1 - rand1); output;
x = 1; y = -1; output;
x = 0; y = -1; output;
x = 0; y = 0; output;
group = 7; id = 0; x = 0; y = 0; output;
x = rand1; y = -1* (1-rand1); output;
x = 1; y = -1; output;
x = 0 ; y = -1; output;
x = 0; y = 0; output;
group = 7; id = 1; x = 0; y = 0; output;
x = -1 * (1-rand1); y = -1*rand1; output;
x = -1; y = -1; output;
x = -1 ; y = 0; output;
x = 0; y = 0; output;
group = 7; id = 2; x = 0; y = 0; output;
x = -1*rand1; y = 1-rand1; output;
x = -1; y = 1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group = 7; id = 3; x = 0; y = 0; output;
x = 1- rand1; y = rand1; output;
x = 1; y = 1; output;
x = 1; y = 0; output;
x = 0; y = 0; output;
group = 8; id = 0; x = 0; y = 0; output;
x = rand1; y = 1-rand1 ; output;
x = 1; y = 1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group = 8; id = 1; x = 0; y = 0; output;
x = 1-rand1; y = -1* rand1; output;
x = 1; y = -1; output;
x = 1 ; y = 0; output;
x = 0; y = 0; output;
group = 8; id = 2; x = 0; y = 0; output;
x = -1*rand1; y = -1*(1-rand1); output;
x = -1; y = -1; output;
x = 0 ; y = -1; output;
x = 0; y = 0; output;
group = 8; id = 3; x = 0; y = 0; output;
x = -1*(1- rand1); y = rand1; output;
x = -1; y = 1; output;
x = -1; y = 0; output;
x = 0; y = 0; output;
group = 9; id = 0; x = 0; y = 0; output;
x = -1 * (1-rand1); y = rand1 ; output;
x = -1; y = 1; output;
x = -1 ; y = 0; output;
x = 0; y = 0; output;
group = 9; id = 1; x = 0; y = 0; output;
x = rand1; y = 1- rand1; output;
x = 1; y = 1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group = 9; id = 2; x = 0; y = 0; output;
x = 1-rand1; y = -1*rand1; output;
x = 1; y = -1; output;
x = 1 ; y = 0; output;
x = 0; y = 0; output;
group = 9; id = 3; x = 0; y = 0; output;
x = -1 * rand1; y = 1-rand1; output;
x = -1; y = -1; output;
x = 0; y = -1; output;
x = 0; y = 0; output;
group =10; id = 0; x = 0; y = 0; output;
x = -1 * rand1; y = -1*(1-rand1); output;
x = -1; y = -1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group =10; id = 1; x = 0; y = 0; output;
x = -1*(1-rand1); y = rand1; output;
x = -1; y = 1; output;
x = -1 ; y = 0; output;
x = 0; y = 0; output;
group =10; id = 2; x = 0; y = 0; output;
x = rand1; y = 1 - rand1; output;
x = 1; y = 1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group =10; id = 3; x = 0; y = 0; output;
x = 1 - rand1; y = -1*rand1; output;
x = 1; y = -1; output;
x = 1; y = 0; output;
x = 0; y = 0; output;
group =11; id = 0; x = 0; y = 0; output;
x = 1 - rand1; y = -1* rand1; output;
x = 1; y = -1; output;
x = 1 ; y = 0; output;
x = 0; y = 0; output;
group =11; id = 1; x = 0; y = 0; output;
x = -1 *rand1; y = -1*(1- rand1); output;
x = -1; y = -1; output;
x = 0 ; y = -1; output;
x = 0; y = 0; output;
group =11; id = 2; x = 0; y = 0; output;
x = -1 * (1-rand1); y = rand1; output;
x = -1; y = 1; output;
x = -1 ; y = 0; output;
x = 0; y = 0; output;
group =11; id = 3; x = 0; y = 0; output;
x = rand1; y = 1- rand1; output;
x = 1; y = 1; output;
x = 0; y = 1; output;
x = 0; y = 0; output;
group =12; id = 0; x = 0; y = 0; output;
x = -1 *rand1; y = 1 - rand1; output;
x = -1; y = 1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group =12; id = 1; x = 0; y = 0; output;
x = -1 *(1-rand1); y = -1* rand1; output;
x = -1; y = -1; output;
x = -1 ; y = 0; output;
x = 0; y = 0; output;
group =12; id = 2; x = 0; y = 0; output;
x = rand1; y = -1 * (1-rand1); output;
x = 1 ; y = -1; output;
x = 0 ; y = -1; output;
x = 0; y = 0; output;
group =12; id = 3; x = 0; y = 0; output;
x = 1 - rand1; y = rand1; output;
x = 1; y = 1; output;
x = 1; y = 0; output;
x = 0; y = 0; output;
group =13; id = 0; x = 0; y = 0; output;
x = 1 - rand1; y = rand1; output;
x = 1; y = 1; output;
x = 1 ; y = 0; output;
x = 0; y = 0; output;
group =13; id = 1; x = 0; y = 0; output;
x = -1*rand1; y = 1 - rand1; output;
x = -1; y = 1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group =13; id = 2; x = 0; y = 0; output;
x = -1 *(1- rand1); y = -1 * rand1; output;
x = -1 ; y = -1; output;
x = -1 ; y = 0; output;
x = 0; y = 0; output;
group =13; id = 3; x = 0; y = 0; output;
x = rand1; y = -1 * (1-rand1); output;
x = 1; y = -1; output;
x = 0; y = -1; output;
x = 0; y = 0; output;
group =14; id = 0; x = 0; y = 0; output;
x = -1 *(1 - rand1); y =-1 * rand1; output;
x = -1; y = -1; output;
x = -1 ; y = 0; output;
x = 0; y = 0; output;
group =14; id = 1; x = 0; y = 0; output;
x = rand1; y = -1*(1 - rand1); output;
x = 1; y = -1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group =14; id = 2; x = 0; y = 0; output;
x = 1- rand1; y = rand1; output;
x = 1 ; y = 1; output;
x = 1 ; y = 0; output;
x = 0; y = 0; output;
group =14; id = 3; x = 0; y = 0; output;
x = -1 * rand1; y = 1-rand1; output;
x = -1; y = 0; output;
x = 0; y = 1; output;
x = 0; y = 0; output;
group =15; id = 0; x = 0; y = 0; output;
x = rand1; y =-1 * (1-rand1); output;
x = 1; y = -1; output;
x = 0 ; y = -1; output;
x = 0; y = 0; output;
group =15; id = 1; x = 0; y = 0; output;
x = 1-rand1; y = rand1; output;
x = 1; y = 1; output;
x = 1 ; y = 0; output;
x = 0; y = 0; output;
group =15; id = 2; x = 0; y = 0; output;
x = -1 * rand1; y = 1-rand1; output;
x = -1 ; y = 1; output;
x = 0 ; y = 1; output;
x = 0; y = 0; output;
group =15; id = 3; x = 0; y = 0; output;
x = -1 * (1-rand1); y = -1*rand1; output;
x = -1; y = -1; output;
x = -1; y = 0; output;
x = 0; y = 0; output;
run;
%let teal = CX288c95;
%let orange = CXeba411;
%let blue = CX0f5098;
%let salmon = CXd5856e;
%let gray = CX929386;
ods graphics / width=640px height=640px;
%macro colOpts; colaxis offsetmin=0 offsetmax=0 display=(nolabel noticks novalues); %mend;
%macro rowOpts; rowaxis offsetmin=0 offsetmax=0 display=(nolabel noticks novalues); %mend;
title "Dihedral Shadow";
proc sgpanel data=Pinwheels noautolegend;
styleattrs wallcolor=&gray datacolors=(&teal &orange &blue &salmon);
panelby Group / columns=4 onepanel noheader;
polygon x=x y=y ID=ID / group=ID fill;
%colOpts; %rowOpts;
run;
... View more