<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Forest plot in Graphics Programming</title>
    <link>https://communities.sas.com/t5/Graphics-Programming/Forest-plot/m-p/746349#M21643</link>
    <description>&lt;P&gt;Here's one way to do it.&amp;nbsp; Would require some play with the padding and such if changing the file size.&amp;nbsp; I make the text with TEXT plots and then use HIGHLOW plots to make the arrows instead.&amp;nbsp; I used backfill and padding to cover up the tips of the REFLINES, but you could do highlow plots instead of REFLINE as well to make this easier.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For the green lines you just needed to add the MARKERCOLOR and LINECOLOR options to your attribute table.&amp;nbsp; I wasn't sure if you wanted green markers as well so you can change that if you need to.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="image.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/60099i033737E1155C0615/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data ip;
length col1 $20 grp $35 adjmn $20;
col1= 'Non-Dialysis';grp= 'Non-Dialysis';grpcd=1;catcd=1;obsid=14;
y1=13.9;text1='Favours control';x1a=-0.05;x1b=-1.5;text2='Favours TMT';x2a=0.05;x2b=1.5;
output;call missing(y1,text1,x1a,x1b,text2,x2a,x2b);
col1= 'Incident Dialysis';grp= 'Incident Dialysis';grpcd=2;catcd=2;obsid=9;Output;
col1= 'Dialysis';grp= 'Dialysis';grpcd=3;catcd=3;obsid=6;Output;

col1= 'Non-Dialysis';
grp='study001 AXXAA-ND, OL, QD'; grpcd=1;catcd=1;obsid=13;
N_val= 'TMT 1801 Control 1799';
adjmn='0.01 (-0.10,0.11)';
low=-0.1;
high=0.11 ;
mean=0.01 ;
output;

col1= 'Non-Dialysis';
grp=' study001 ESA users'; grpcd=2;catcd=1;obsid=12;
N_val= 'TMT 1001 Control 1013';
adjmn='0.28 (-0.05,0.54)';
low=-0.05;
high=0.54 ;
mean=0.28;
output;

col1= 'Non-Dialysis';
grp=' study001 ESA non-users'; grpcd=3;catcd=1;obsid=11;
N_val= 'TMT 480 Control 470';
adjmn='-0.06 (-0.17,0.26)';
low=-0.17;
high=0.26 ;
mean=-0.06;
output;


col1= 'Incident Dialysis';
grp='study002 AXXAA-ID, OL, QD'; grpcd=4;catcd=2;obsid=8;
N_val= 'TMT 1481 Control 1483';
adjmn='0.23 (-0.01,0.47)';
low=-0.01;
high=0.47;
mean=0.23;
output;


col1= 'Dialysis';
grp='study003 AXXAA-D, OL, QD'; grpcd=5;catcd=3;obsid=5;
N_val= 'TMT 1481 Control 1483';
adjmn='0.23 (-0.01,0.47)';
low=-0.01;
high=0.47;
mean=0.23;
output;


col1= 'Dialysis';
grp=' study003 HD';
N_val= 'TMT 1001 Control 1013';grpcd=6;catcd=3;obsid=4;
adjmn='0.28 (-0.05,0.54)';
low=-0.05;
high=0.54 ;
mean=0.28;
output;


col1= 'Dialysis';
grp=' study003 PD';
N_val= 'TMT 480 Control 470';grpcd=7;catcd=3;obsid=3;
adjmn='-0.06 (-0.17,0.26)';
low=-0.17;
high=0.26 ;
mean=-0.06;
output;


col1= 'Dialysis';
grp='study004 AXXAA-TD, DB, TIW'; grpcd=8;catcd=3; obsid=1;
N_val= 'TMT 204 Control 203';
adjmn='0.23 (-0.01,0.47)';
low=-0.01;
high=0.47;
mean=0.23;
output;

run;

proc sort;by catcd grpcd;run;

data ip;
set ip ;
if obsid in (1,5,6,8,9,13,14) then IndtWt=0;
else indtwt=1;

if obsid in (1,5,6,8,9,13,14 ) then id=1;
else id=2;
run;

data extra;
sid=16; low=-1.5; texta=' &amp;lt;------ Favours control '; high=0.5; textb=' Favours TMT ------&amp;gt;';output;
run;

data ip;
set ip extra;
run;

 


*** CREATE FIGURE ***;
data attrmap;
length id textweight $10 value $75. linecolor markercolor $20.;
id='text'; value='1'; textcolor='Black'; textsize=7; textweight='bold'; linecolor='black';linepattern='solid';markercolor='black';output;
id='text'; value='2'; textcolor='Green'; textsize=6; textweight='normal'; linecolor='green';linepattern='solid';markercolor='green';output;
run;
proc sort data=ip out=allnew;by catcd grpcd grp ;run;

options orientation=landscape;
ods pdf file='test.pdf' notoc bookmarkgen=no;
ods graphics / width=10in;
proc sgplot data=ip nowall noborder nocycleattrs noautolegend dattrmap=attrmap;
styleattrs axisextent=data ;
highlow y=obsid low=low high=high/ group=id highcap=serif lowcap=serif attrid=text;
scatter y=obsid x=mean / group=id markerattrs=(symbol=circlefilled size=7) attrid=text;
scatter y=obsid x=mean / markerattrs=(size=0) x2axis ;
refline 0 / axis=x lineattrs=(pattern=1);
refline 1.2 / axis=x lineattrs=(pattern=3);

text x=x1a y=y1 text=text1 / backfill fillattrs=(color=white) pad=(top=20px right=5px bottom=10px) position=topleft splitjustify=right textattrs=(size=9 weight=bold);
text x=x2a y=y1 text=text2 / backfill fillattrs=(color=white) pad=(top=20px right=350px bottom=15px)  position=topright splitjustify=left textattrs=(size=9 weight=bold);
highlow y=y1 low=x1b high=x1a /  lowcap=closedarrow lineattrs=(pattern=2 color=red);
highlow y=y1 low=x2a high=x2b /  highcap=closedarrow lineattrs=(pattern=2 color=red);

yaxis display=none colorbands=odd colorbandsattrs=(transparency=1) offsetmin=0.02 max=14.2 offsetmax=0;
x2axis display=(noline noticks novalues nolabel) labelattrs=(size=8);
xaxis values=(-2 -1 0 1 2) labelattrs=(size=8) labelattrs=(size=8) offsetmax=0 offsetmin=0;

yaxistable grp / location=inside position=left labelattrs=(size=9 weight=bold) valueattrs=(size=9 ) textgroup=id textgroupid=text indentweight=IndtWt label=' ' labelhalign=left;
yaxistable N_val / location=inside position=left labelattrs=(size=9 weight=bold) valueattrs=(size=9 ) label='N ' textgroup=id textgroupid=text labelhalign=center;
yaxistable adjmn / location=inside position=left pad=(left=15px right=15px) labelattrs=(size=9 weight=bold) textgroup=id textgroupid=text label='Adj. Mean Hgb difference (95% CI) ' labelhalign=left valueattrs=(size=9);

run;
ods pdf close;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Mon, 07 Jun 2021 18:49:02 GMT</pubDate>
    <dc:creator>JeffMeyers</dc:creator>
    <dc:date>2021-06-07T18:49:02Z</dc:date>
    <item>
      <title>Forest plot</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Forest-plot/m-p/746328#M21642</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp; I have created a forest plot as below. However I would like to make the below:&lt;/P&gt;&lt;P&gt;1) The CI bars in Green circle to be green in colour.&amp;nbsp;&lt;/P&gt;&lt;P&gt;2) would need an&amp;nbsp; Arrow under the text 'Favours Control&amp;nbsp; &amp;nbsp; Favours TMT ' as shown with the red arrow .&lt;/P&gt;&lt;P&gt;My plot and the code attached belo:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Manj_0-1623088584431.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/60090i5123BBC1B41A463F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Manj_0-1623088584431.png" alt="Manj_0-1623088584431.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data ip;&lt;BR /&gt;length col1 $20 grp $25 adjmn $20;&lt;/P&gt;&lt;P&gt;col1= 'Non-Dialysis';grp= 'Non-Dialysis';grpcd=1;catcd=1;obsid=14;Output;&lt;BR /&gt;col1= 'Incident Dialysis';grp= 'Incident Dialysis';grpcd=2;catcd=2;obsid=9;Output;&lt;BR /&gt;col1= 'Dialysis';grp= 'Dialysis';grpcd=3;catcd=3;obsid=6;Output;&lt;/P&gt;&lt;P&gt;col1= 'Non-Dialysis';&lt;BR /&gt;grp='study001 AXXAA-ND, OL, QD'; grpcd=1;catcd=1;obsid=13;&lt;BR /&gt;N_val= 'TMT 1801 Control 1799';&lt;BR /&gt;adjmn='0.01 (-0.10,0.11)';&lt;BR /&gt;low=-0.1;&lt;BR /&gt;high=0.11 ;&lt;BR /&gt;mean=0.01 ;&lt;BR /&gt;output;&lt;/P&gt;&lt;P&gt;col1= 'Non-Dialysis';&lt;BR /&gt;grp=' study001 ESA users'; grpcd=2;catcd=1;obsid=12;&lt;BR /&gt;N_val= 'TMT 1001 Control 1013';&lt;BR /&gt;adjmn='0.28 (-0.05,0.54)';&lt;BR /&gt;low=-0.05;&lt;BR /&gt;high=0.54 ;&lt;BR /&gt;mean=0.28;&lt;BR /&gt;output;&lt;/P&gt;&lt;P&gt;col1= 'Non-Dialysis';&lt;BR /&gt;grp=' study001 ESA non-users'; grpcd=3;catcd=1;obsid=11;&lt;BR /&gt;N_val= 'TMT 480 Control 470';&lt;BR /&gt;adjmn='-0.06 (-0.17,0.26)';&lt;BR /&gt;low=-0.17;&lt;BR /&gt;high=0.26 ;&lt;BR /&gt;mean=-0.06;&lt;BR /&gt;output;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;col1= 'Incident Dialysis';&lt;BR /&gt;grp='study002 AXXAA-ID, OL, QD'; grpcd=4;catcd=2;obsid=8;&lt;BR /&gt;N_val= 'TMT 1481 Control 1483';&lt;BR /&gt;adjmn='0.23 (-0.01,0.47)';&lt;BR /&gt;low=-0.01;&lt;BR /&gt;high=0.47;&lt;BR /&gt;mean=0.23;&lt;BR /&gt;output;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;col1= 'Dialysis';&lt;BR /&gt;grp='study003 AXXAA-D, OL, QD'; grpcd=5;catcd=3;obsid=5;&lt;BR /&gt;N_val= 'TMT 1481 Control 1483';&lt;BR /&gt;adjmn='0.23 (-0.01,0.47)';&lt;BR /&gt;low=-0.01;&lt;BR /&gt;high=0.47;&lt;BR /&gt;mean=0.23;&lt;BR /&gt;output;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;col1= 'Dialysis';&lt;BR /&gt;grp=' study003 HD';&lt;BR /&gt;N_val= 'TMT 1001 Control 1013';grpcd=6;catcd=3;obsid=4;&lt;BR /&gt;adjmn='0.28 (-0.05,0.54)';&lt;BR /&gt;low=-0.05;&lt;BR /&gt;high=0.54 ;&lt;BR /&gt;mean=0.28;&lt;BR /&gt;output;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;col1= 'Dialysis';&lt;BR /&gt;grp=' study003 PD';&lt;BR /&gt;N_val= 'TMT 480 Control 470';grpcd=7;catcd=3;obsid=3;&lt;BR /&gt;adjmn='-0.06 (-0.17,0.26)';&lt;BR /&gt;low=-0.17;&lt;BR /&gt;high=0.26 ;&lt;BR /&gt;mean=-0.06;&lt;BR /&gt;output;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;col1= 'Dialysis';&lt;BR /&gt;grp='study004 AXXAA-TD, DB, TIW'; grpcd=8;catcd=3; obsid=1;&lt;BR /&gt;N_val= 'TMT 204 Control 203';&lt;BR /&gt;adjmn='0.23 (-0.01,0.47)';&lt;BR /&gt;low=-0.01;&lt;BR /&gt;high=0.47;&lt;BR /&gt;mean=0.23;&lt;BR /&gt;output;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;proc sort;by catcd grpcd;run;&lt;/P&gt;&lt;P&gt;data ip;&lt;BR /&gt;set ip ;&lt;BR /&gt;if obsid in (1,5,6,8,9,13,14) then IndtWt=0;&lt;BR /&gt;else indtwt=1;&lt;/P&gt;&lt;P&gt;if obsid in (1,5,6,8,9,13,14 ) then id=1;&lt;BR /&gt;else id=2;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data extra;&lt;BR /&gt;sid=16; low=-1.5; texta=' &amp;lt;------ Favours control '; high=0.5; textb=' Favours TMT ------&amp;gt;';output;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data ip;&lt;BR /&gt;set ip extra;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;*** CREATE FIGURE ***;&lt;BR /&gt;ods listing close;&lt;BR /&gt;ods pdf file="&amp;amp;g_outfile..&amp;amp;g_fontsize" nobookmarkgen style=idsl dpi=600 ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data attrmap;&lt;BR /&gt;length textweight $10;&lt;BR /&gt;id='text'; value='1'; textcolor='Black'; textsize=7; textweight='bold'; output;&lt;BR /&gt;id='text'; value='2'; textcolor='Green'; textsize=6; textweight='normal'; output;&lt;BR /&gt;id='obsid'; value='3'; color='Green'; output;&lt;BR /&gt;id='obsid'; value='3'; symbolcolor='Green'; output;&lt;BR /&gt;run;&lt;BR /&gt;proc sort data=ip out=allnew;by catcd grpcd grp ;run;&lt;/P&gt;&lt;P&gt;proc sgplot data=ip nowall noborder nocycleattrs noautolegend dattrmap=attrmap;&lt;BR /&gt;styleattrs axisextent=data ;&lt;BR /&gt;highlow y=obsid low=low high=high/highcap=serif lowcap=serif attrid=obsid;&lt;BR /&gt;scatter y=obsid x=mean / markerattrs=(symbol=circlefilled size=7) attrid=obsid;&lt;BR /&gt;scatter y=obsid x=mean / markerattrs=(size=0) x2axis ;&lt;BR /&gt;refline 0 / axis=x lineattrs=(pattern=1);&lt;BR /&gt;refline 1.2 / axis=x lineattrs=(pattern=3);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;yaxis display=none colorbands=odd colorbandsattrs=(transparency=1) offsetmin=0.02;&lt;BR /&gt;x2axis display=(noline noticks novalues nolabel) labelattrs=(size=8);&lt;BR /&gt;xaxis values=(-2 -1 0 1 2) labelattrs=(size=8) labelattrs=(size=8);&lt;BR /&gt;*TEXT x=low y=sid text=texta / textattrs=(size=8 weight=normal) ;&lt;BR /&gt;* TEXT x=high y=sid text=textb / textattrs=(size=8 weight=normal) ;&lt;BR /&gt;&lt;BR /&gt;x2axis label='&amp;lt;-------Favours Control Favours tmt --------&amp;gt;' display=(noline noticks novalues) labelattrs=(size=9 weight=bold);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;yaxistable grp / location=inside position=left labelattrs=(size=9 weight=bold) valueattrs=(size=9 ) textgroup=id textgroupid=text indentweight=IndtWt label=' ' labelhalign=left;&lt;BR /&gt;yaxistable N_val / location=inside position=left labelattrs=(size=9 weight=bold) valueattrs=(size=9 ) label='N ' textgroup=id textgroupid=text labelhalign=center;&lt;BR /&gt;yaxistable adjmn / location=inside position=left pad=(left=15px right=15px) labelattrs=(size=9 weight=bold) textgroup=id textgroupid=text label='Adj. Mean Hgb difference (95% CI) ' labelhalign=left valueattrs=(size=9);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;ods pdf close;&lt;BR /&gt;ods listing;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Jun 2021 17:58:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Forest-plot/m-p/746328#M21642</guid>
      <dc:creator>Manj</dc:creator>
      <dc:date>2021-06-07T17:58:16Z</dc:date>
    </item>
    <item>
      <title>Re: Forest plot</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Forest-plot/m-p/746349#M21643</link>
      <description>&lt;P&gt;Here's one way to do it.&amp;nbsp; Would require some play with the padding and such if changing the file size.&amp;nbsp; I make the text with TEXT plots and then use HIGHLOW plots to make the arrows instead.&amp;nbsp; I used backfill and padding to cover up the tips of the REFLINES, but you could do highlow plots instead of REFLINE as well to make this easier.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For the green lines you just needed to add the MARKERCOLOR and LINECOLOR options to your attribute table.&amp;nbsp; I wasn't sure if you wanted green markers as well so you can change that if you need to.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="image.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/60099i033737E1155C0615/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data ip;
length col1 $20 grp $35 adjmn $20;
col1= 'Non-Dialysis';grp= 'Non-Dialysis';grpcd=1;catcd=1;obsid=14;
y1=13.9;text1='Favours control';x1a=-0.05;x1b=-1.5;text2='Favours TMT';x2a=0.05;x2b=1.5;
output;call missing(y1,text1,x1a,x1b,text2,x2a,x2b);
col1= 'Incident Dialysis';grp= 'Incident Dialysis';grpcd=2;catcd=2;obsid=9;Output;
col1= 'Dialysis';grp= 'Dialysis';grpcd=3;catcd=3;obsid=6;Output;

col1= 'Non-Dialysis';
grp='study001 AXXAA-ND, OL, QD'; grpcd=1;catcd=1;obsid=13;
N_val= 'TMT 1801 Control 1799';
adjmn='0.01 (-0.10,0.11)';
low=-0.1;
high=0.11 ;
mean=0.01 ;
output;

col1= 'Non-Dialysis';
grp=' study001 ESA users'; grpcd=2;catcd=1;obsid=12;
N_val= 'TMT 1001 Control 1013';
adjmn='0.28 (-0.05,0.54)';
low=-0.05;
high=0.54 ;
mean=0.28;
output;

col1= 'Non-Dialysis';
grp=' study001 ESA non-users'; grpcd=3;catcd=1;obsid=11;
N_val= 'TMT 480 Control 470';
adjmn='-0.06 (-0.17,0.26)';
low=-0.17;
high=0.26 ;
mean=-0.06;
output;


col1= 'Incident Dialysis';
grp='study002 AXXAA-ID, OL, QD'; grpcd=4;catcd=2;obsid=8;
N_val= 'TMT 1481 Control 1483';
adjmn='0.23 (-0.01,0.47)';
low=-0.01;
high=0.47;
mean=0.23;
output;


col1= 'Dialysis';
grp='study003 AXXAA-D, OL, QD'; grpcd=5;catcd=3;obsid=5;
N_val= 'TMT 1481 Control 1483';
adjmn='0.23 (-0.01,0.47)';
low=-0.01;
high=0.47;
mean=0.23;
output;


col1= 'Dialysis';
grp=' study003 HD';
N_val= 'TMT 1001 Control 1013';grpcd=6;catcd=3;obsid=4;
adjmn='0.28 (-0.05,0.54)';
low=-0.05;
high=0.54 ;
mean=0.28;
output;


col1= 'Dialysis';
grp=' study003 PD';
N_val= 'TMT 480 Control 470';grpcd=7;catcd=3;obsid=3;
adjmn='-0.06 (-0.17,0.26)';
low=-0.17;
high=0.26 ;
mean=-0.06;
output;


col1= 'Dialysis';
grp='study004 AXXAA-TD, DB, TIW'; grpcd=8;catcd=3; obsid=1;
N_val= 'TMT 204 Control 203';
adjmn='0.23 (-0.01,0.47)';
low=-0.01;
high=0.47;
mean=0.23;
output;

run;

proc sort;by catcd grpcd;run;

data ip;
set ip ;
if obsid in (1,5,6,8,9,13,14) then IndtWt=0;
else indtwt=1;

if obsid in (1,5,6,8,9,13,14 ) then id=1;
else id=2;
run;

data extra;
sid=16; low=-1.5; texta=' &amp;lt;------ Favours control '; high=0.5; textb=' Favours TMT ------&amp;gt;';output;
run;

data ip;
set ip extra;
run;

 


*** CREATE FIGURE ***;
data attrmap;
length id textweight $10 value $75. linecolor markercolor $20.;
id='text'; value='1'; textcolor='Black'; textsize=7; textweight='bold'; linecolor='black';linepattern='solid';markercolor='black';output;
id='text'; value='2'; textcolor='Green'; textsize=6; textweight='normal'; linecolor='green';linepattern='solid';markercolor='green';output;
run;
proc sort data=ip out=allnew;by catcd grpcd grp ;run;

options orientation=landscape;
ods pdf file='test.pdf' notoc bookmarkgen=no;
ods graphics / width=10in;
proc sgplot data=ip nowall noborder nocycleattrs noautolegend dattrmap=attrmap;
styleattrs axisextent=data ;
highlow y=obsid low=low high=high/ group=id highcap=serif lowcap=serif attrid=text;
scatter y=obsid x=mean / group=id markerattrs=(symbol=circlefilled size=7) attrid=text;
scatter y=obsid x=mean / markerattrs=(size=0) x2axis ;
refline 0 / axis=x lineattrs=(pattern=1);
refline 1.2 / axis=x lineattrs=(pattern=3);

text x=x1a y=y1 text=text1 / backfill fillattrs=(color=white) pad=(top=20px right=5px bottom=10px) position=topleft splitjustify=right textattrs=(size=9 weight=bold);
text x=x2a y=y1 text=text2 / backfill fillattrs=(color=white) pad=(top=20px right=350px bottom=15px)  position=topright splitjustify=left textattrs=(size=9 weight=bold);
highlow y=y1 low=x1b high=x1a /  lowcap=closedarrow lineattrs=(pattern=2 color=red);
highlow y=y1 low=x2a high=x2b /  highcap=closedarrow lineattrs=(pattern=2 color=red);

yaxis display=none colorbands=odd colorbandsattrs=(transparency=1) offsetmin=0.02 max=14.2 offsetmax=0;
x2axis display=(noline noticks novalues nolabel) labelattrs=(size=8);
xaxis values=(-2 -1 0 1 2) labelattrs=(size=8) labelattrs=(size=8) offsetmax=0 offsetmin=0;

yaxistable grp / location=inside position=left labelattrs=(size=9 weight=bold) valueattrs=(size=9 ) textgroup=id textgroupid=text indentweight=IndtWt label=' ' labelhalign=left;
yaxistable N_val / location=inside position=left labelattrs=(size=9 weight=bold) valueattrs=(size=9 ) label='N ' textgroup=id textgroupid=text labelhalign=center;
yaxistable adjmn / location=inside position=left pad=(left=15px right=15px) labelattrs=(size=9 weight=bold) textgroup=id textgroupid=text label='Adj. Mean Hgb difference (95% CI) ' labelhalign=left valueattrs=(size=9);

run;
ods pdf close;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 07 Jun 2021 18:49:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Forest-plot/m-p/746349#M21643</guid>
      <dc:creator>JeffMeyers</dc:creator>
      <dc:date>2021-06-07T18:49:02Z</dc:date>
    </item>
  </channel>
</rss>

