DISCRETEATTRMAP RANGEATTRMAP

group 值的显示属性是使用GRAPHDATA1 - GRAPHDATA12.

DISCRETEMAP自定义一个group值的属性。

codes中的selfName都是可以自定义名字。

 

data GTL_GS_Series_Dis_Attr_Map;
format Date Date9.; 
do i=0 to 334 by 30; 
date='01jan2009'd+i; 
if mod (i, 30) =0 then freq=1; else freq=0; 
Drug='Drug A'; Val = 16+ 3*sin(i/90+0.5) + 1*sin(3*i/90+0.7); output; 
Drug='Drug C'; Val =  6+ 3*cos(i/90+0.5) + 1*sin(3*i/90+0.7); output; 
end; 
run;


proc template;
define statgraph a;
dynamic _title;
begingraph / subpixel = on;
    discreteattrmap name = 'selfName_1';
        value "Drug A" / lineattrs = (color = red pattern = solid);
        value "Drug B" / lineattrs = (color = green pattern= solid);
        value "Drug C" / lineattrs = (color = blue pattern= solid);
    enddiscreteattrmap;

    discreteattrvar attrvar = selfName_2 var = drug attrmap = "selfName_1";

layout overlay /;
    seriesplot x = date y = val / group = selfName_2  name = "a"
                                smoothconnect = true lineattrs = (thickness = 2);
    discretelegend "a" / type = line;
endlayout;

endgraph;
end;
run;

proc sgrender data = GTL_GS_Series_Dis_Attr_Map template = a;
run;

 

continuous legend分两种,一种是比较“硬性”的,一种是gradient的。

*continuous legend;

data GTL_GS_HeatmapParm;
  drop pi val;
  pi=constant('Pi');
  do x=1 to 20;
    do y=1 to 10;
      value=sin(x*pi/10) + cos(y*pi/10);
      val=ranuni(2);
      group=ifc(val < 0.5, 'M', 'F');
      output;
    end;
  end;
run;


proc template;
define statgraph b;
begingraph / subpixel = on;
    rangeattrmap name = 'selfName_1';
        range -2 - -1 / rangecolor = darkred;
        range -1 - -0 / rangecolor = red;
        range 0 - 1 / rangecolor = white;
        range 1 - 2 / rangecolor = blue;
    endrangeattrmap;

    rangeattrvar attrvar = selfName_2 var = value attrmap = "selfName_1";

layout overlay / ;
    heatmapparm x = x y = y colorresponse = selfName_2/ name = 'a';
    continuouslegend "a" ;
endlayout;

endgraph;
end;
run;

proc sgrender data = GTL_GS_HeatmapParm template = b;
run;



proc template;
define statgraph c;
begingraph / subpixel = on;
    rangeattrmap name = 'selfName_1';
        range -2 - -1 / rangecolormodel = (darkred red);
        range -1 - -0 / rangecolormodel = (red white);
        range 0 - 1 / rangecolormodel = (white blue);
        range 1 - 2 / rangecolormodel = (blue darkblue);
    endrangeattrmap;

    rangeattrvar attrvar = selfName_2 var = value attrmap = "selfName_1";

layout overlay / ;
    heatmapparm x = x y = y colorresponse = selfName_2/ name = 'a';
    continuouslegend "a" ;
endlayout;

endgraph;
end;
run;

proc sgrender data = GTL_GS_HeatmapParm template = c;
run;

 

 

 

 

 

 

 

posted @ 2021-10-06 22:42  Iving  阅读(498)  评论(0编辑  收藏  举报