2014年10月10日金曜日

値で色の濃淡

ata Q1;
 do Z= 1 to 10;
  X=rand('uniform');Y=rand('uniform');
  output;
 end;
run;

proc template;
 define statgraph G1;
 beginGraph;
 rangeAttrMap name='M1';
  range min -  3 / rangeColorModel=(red yellow);
  range 3 <- 5 / rangeColorModel=(yellow green);
  range 5 <- max / rangeColorModel=(green blue);
 endRangeAttrMap;
 rangeAttrVar var=Z attrVar=ZrMap='M1';
 layout overlay;
 bubblePlot x=X y=Y size=Z/datalabel=Z datalabelattrs=(size=15)
                           colorResponse=Z naZe='P1';
 ContinuousLegend 'P1';P1'n
Layout;
 endGraph;
 end;
run;

ods graphics / reset;
proc sgrender data=Q1 template=G1;
run;


layout lattice でプロット分割

data Q1;
 do Z= 1 to 10;
  X=rand('uniform');Y=rand('uniform');
  output;
 end;
run;

proc template;
 define statgraph G1;
 begingraph/designheight=600;
 layout lattice/rows=2;
  scatterplot x=eval(ifn(Z<=5,X,.))
              y=eval(ifn(Z<=5,Y,.))
             /datalabel=Z datalabelattrs=(size=10);
  scatterplot x=eval(ifn(Z>5,X,.))
              y=eval(ifn(Z>5,Y,.))
             /datalabel=Z datalabelattrs=(size=10);
 endlayout;
 endgraph;
 end;
run;

ods graphics / reset height=600px labelMax=600;
proc sgrender template=G1 data=Q1;
run;



eval関数を使ってGTL内で関数使用

data Q1;
 do Z= 1 to 10;
  X=rand('uniform');Y=rand('uniform');
  output;
 end;
run;

proc template;
 define statgraph G1;
 begingraph;
 layout overlay;
  scatterplot x=X y=Y
    /name='n1'
     markerattrs=(size=11 weight=bold symbol=circlefilled)
     group=eval(ifc(Z<=5,'low','high'));
   discretelegend 'n1'/title='Z'
                        location=inside halign=right valign=bottom;
  endlayout;
  endgraph;
  end;
 run;

 proc sgrender data=Q1 template=G1;
 run;


































Marker Symbols