AOA Network Using the Annotate Facility (netdr17)
/****************************************************************/
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: NETDR17 */
/* TITLE: AOA Network Using the Annotate Facility (netdr17) */
/* PRODUCT: OR */
/* SYSTEM: ALL */
/* KEYS: NETDRAW */
/* PROCS: FORMAT, NETDRAW */
/* DATA: */
/* */
/* SUPPORT: UPDATE: */
/* REF: Example 17 from the NETDRAW Chapter(PM User's Guide)*/
/* MISC: */
/* */
/****************************************************************/
data widgaoa;
format task $12. ;
input task & days tail head _x_ _y_;
datalines;
Approve Plan 5 1 2 1 2
Drawings 10 2 3 4 2
Study Market 5 2 4 4 2
Write Specs 5 2 3 4 2
Prototype 15 3 5 7 1
Mkt. Strat. 10 4 6 10 3
Materials 10 5 7 10 1
Facility 10 5 7 10 1
Init. Prod. 10 7 8 13 1
Evaluate 10 8 9 16 1
Test Market 15 6 9 18 2
Changes 5 9 10 20 1
Production 0 10 11 23 1
Marketing 0 6 12 19 2
Dummy 0 8 6 16 1
. . 11 . 26 1
. . 12 . 22 3
;
pattern1 v=e c=red;
title j=l h=3 ' Project: Widget Manufacture';
title2 j=l h=2 ' Network in Activity-on-Arc Format';
footnote j=r h=2 'Initial Layout ';
proc netdraw graphics data=widgaoa out=netout;
actnet / act=tail
succ=head
id=(tail)
align=_x_
zone=_y_
ybetween = 10
nodefid
nolabel
pcompress
htext=2;
label _y_=' Y \ X ';
run;
data netin;
set netout;
if _from_=4 and _to_=6 and _seq_>0 then _x_=16.5;
run;
data anno1;
set netout;
if _seq_=0;
/* Set up required variable lengths, etc. */
length function color style $8;
length xsys ysys hsys $1;
length when position $1;
length TEXT $12;
xsys = '2';
ysys = '2';
hsys = '4';
when = 'a';
function = 'label ';
size = 2;
position = '5';
TEXT = left(put(tail, f2.));
x=_x_;
if _y_ = 1 then y=_y_-.3;
else y=_y_+.5;
run;
data anno2;
/* Set up required variable lengths, etc. */
length function color style $8;
length xsys ysys hsys $1;
length when position $1;
length TEXT $12;
xsys = '2';
ysys = '2';
hsys = '4';
when = 'a';
function = 'label ';
size = 2;
position = '5';
x=2.5; y=1.8; TEXT='Approve Plan'; output;
x=5.5; y=.8; TEXT='Drawings'; output;
x=5.7; y=1.4; TEXT='Write Specs'; output;
x=7; y=3.4; TEXT='Study Market'; output;
x=8.5; y=.8; TEXT='Prototype'; output;
x=11.5; y=1.4; TEXT='Facility'; output;
x=11.5; y=.8; TEXT='Materials'; output;
x=14.5; y=.9; TEXT='Init. Prod'; output;
x=13.5; y=3.4; TEXT='Mkt. Strat.'; output;
x=18; y=.8; TEXT='Evaluate'; output;
x=21.5; y=.8; TEXT='Changes'; output;
x=24.5; y=.8; TEXT='Production'; output;
x=20; y=3.4; TEXT='Marketing'; output;
position=6;
x=16.6; y=1.5; TEXT='Dummy'; output;
x=18.6; y=1.5; TEXT='Test Market'; output;
;
data anno;
set anno1 anno2;
run;
footnote j=r h=2 'Annotated and Modified Layout ';
pattern1 v=s c=red;
proc netdraw graphics data=netin anno=anno;
actnet / nodefid
nolabel
boxwidth=1
pcompress
novcenter
vmargin=20
xbetween=10;
run;