The NETDRAW Procedure |
ACTNET Statement |
The ACTNET statement draws the network diagram. You can specify several options in this statement to control the appearance of the network. All these options are described in the current section under appropriate headings: first, all options that are valid for all modes of the procedure are listed, followed by the options classified according to the mode (full-screen, graphics, or line-printer) of invocation of the procedure.
specifies the variable in the Network data set that names the nodes in the network. If the data set contains a variable called _FROM_, this specification is ignored; otherwise, this option is required.
specifies the variable in the Network data set containing the time values to be used for positioning each activity. This options triggers the TIMESCALE option that adds a time axis at the top of the network and aligns the nodes of the network according to the values of the ALIGN= variable. The minimum and maximum values of this variable are used to determine the time axis. The format of this variable is used to determine the default value of the MININTERVAL= option, which, in turn, determines the format of the time axis.
draws reference lines at every tick mark. This option is valid only for time-scaled network diagrams.
enables automatic zoning (or dividing) of the network into connected components. This option is equivalent to defining an automatic zone variable that associates a tree number for each node. The tree number refers to a number assigned (by the procedure) to each distinct tree of a spanning tree of the network.
breaks cycles by reversing the back arcs of the network. The back arcs are determined by constructing an underlying spanning tree of the network. Once cycles are broken, the nodes of the network are laid out using a topological ordering of the new network formed from the original network by ignoring the back arcs. The back arcs are drawn after determining the network layout. Note that only the back arcs go from right to left.
specifies the height of the box (in character cell positions) used for denoting a node. If this option is not specified, the height of the box equals the number of lines required for displaying all of the ID variable values for any of the nodes. See the ROTATETEXT option (under "Graphics Options") for an exception.
specifies the width of the box (in character cell positions) used for denoting a node. If this option is not specified, the width of the box equals the maximum number of columns required for displaying all of the ID variable values for any of the nodes. See the ROTATETEXT option (under "Graphics Options") for an exception.
positions each node at the center of the subtree that originates from that node instead of placing it at the midpoint of its children (which is the default behavior). Note that the nodes are placed at integral positions along an imaginary grid, so the positioning may not be exactly at the center. This option is valid only in conjunction with the TREE option.
orders the children of each node when the network is laid out using either the TREE or the SPANNINGTREE option. The valid values for this option are TOPDOWN and BOTTOMUP for default orientation, and LEFTRGHT and RGHTLEFT for rotated networks (drawn with the ROTATETEXT option). The default is TOPDOWN.
causes PROC NETDRAW to use a dynamic programming (DP) algorithm to route the arcs. This DP algorithm is memory and CPU-intensive and is not necessary for most applications.
specifies a variable that contains the duration of each activity in the network. This value is used only for displaying the durations of each activity within the node.
encloses the drawing area with a border. This option is valid only for time-scaled or zoned network diagrams.
controls the number of arcs that are drawn horizontally through the space between two adjacent nodes. This option enables you to control the arc-routing algorithm. The default value is based on the maximum number of successors of any node.
specifies the variables in the Network data set that are displayed within each node. In addition to the ID variables, the procedure displays the ACTIVITY variable, the DURATION variable (if the DURATION= option was specified), and any of the following variables in the Network data set: E_START, E_FINISH, L_START,
L_FINISH, S_START, S_FINISH, A_START, A_FINISH, T_FLOAT, and
F_FLOAT. See
Chapter 2,
The CPM Procedure,
for a description of these variables. If you specify the NODEFID option, only the variables listed in the ID= option are displayed.
specifies the variables in the Network data set that identify the lag types of the precedence relationships between an activity and its successors. Each SUCCESSOR variable is matched with the corresponding LAG variable; that is, for a given observation, the ith LAG variable defines the relationship between the activities specified by the ACTIVITY variable and the ith SUCCESSOR variable. The LAG variables must be character type, and their values are expected to be specified as one of FS, SS, SF, or FF, which denote 'Finish-to-Start', 'Start-to-Start', 'Start-to-Finish', and 'Finish-to-Finish', respectively. You can also use the keyword_duration_calendar specification used by the CPM procedure, although PROC NETDRAW uses only the keyword information and ignores the lag duration and the lag calendar. If no LAG variables exist or if an unrecognized value is specified for a LAG variable, PROC NETDRAW interprets the lag as a 'Finish-to-Start' type.
This option enables the procedure to identify the different types of nonstandard precedence constraints (Start-to-Start, Start-to-Finish, and Finish-to-Finish) on graphics quality network diagrams by drawing the arcs from and to the appropriate edges of the nodes.
plots one column for every mininterval between the minimum and maximum values of the ALIGN= variable. By default, only those columns that contain at least one activity are displayed. This option is valid only for time-scaled network diagrams.
specifies the maximum number of empty columns between two consecutive nonempty columns. The default value for this option is 0. Note that specifying the LINEAR option is equivalent to specifying the MAXNULLCOLUMN= option to be infinity. This option is valid only for time-scaled network diagrams.
specifies the smallest interval to be used per column of the network diagram. Thus, if MININTERVAL=DAY, each column is used to represent a day, and all activities that start on the same day are placed in the same column. The valid values for mininterval are SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QTR, and YEAR. The default value of mininterval is determined by the format of the ALIGN= variable. The tick labels are formatted on the basis of mininterval; for example, if mininterval is DAY, the dates are marked using the DATE7. format, and if mininterval is HOUR, the labels are formatted as TIME5. and so on. This option is valid only for time-scaled network diagrams.
contracts the time axis by specifying that activities that differ in ALIGN= value by less than npercol units of MININTERVAL can be plotted in the same column. The default value of npercol is 1. This option is valid only for time-scaled network diagrams.
indicates that the procedure need not check for any of the default ID variables in the Network data set; if this option is in effect, only the variables specified in the ID= option are displayed within each node.
specifies that the arcs can be routed along potential node positions if there is a clear horizontal track to the left of the successor (or _TO_) node. This is the default option. To prevent the use of potential node positions, use the NONODETRACK option.
suppresses the labels. By default, the procedure uses the first three letters of the variable name to label all the variables that are displayed within each node of the network. The only exception is the variable that is identified by the ACTIVITY= option.
uses a simple heuristic to connect the nodes. The default mode of routing is NONDP, unless the HTRACKS= or VTRACKS= option (or both) are specified and set to a number that is less than the maximum number of successors. The NONDP option is faster than the DP option.
blocks the horizontal track along potential node positions. This option may lead to more turns in some of the arcs. The default is NODETRACK.
displays the time axis only on the top of the chart and not on every page. This option is useful if the different pages are to be glued together to form a complete diagram. This option is valid only for time-scaled network diagrams.
suppresses the display of the time axis and its labels. Note that the nodes are still placed according to the time scale, but no axis is drawn. This option is valid only for time-scaled network diagrams.
omits the zone labeling and the dividing lines. The network is still divided into zones based on the ZONE variable, but there is no demarcation or labeling corresponding to the zones.
specifies the maximum number of pages to be used for the network diagram in graphics and line-printer modes. The default value is 100.
stops processing if the ALIGN= variable has any missing values. By default, the procedure tries to fill in missing values using the topological order of the network. This option is valid only for time-scaled network diagrams.
shows breaks in the time axis by drawing a zigzag line down the diagram just before the tick mark at the break. This option is valid only for time-scaled network diagrams.
restricts the scope of the arc layout algorithm by restricting the area of search for the arc layout when the DP option is in effect; this is useful in reducing the computational complexity of the dynamic programming algorithm. By default, using the DP algorithm to route the arcs, the coordinates of the arcs can range through the entire height of the network. The RESTRICTSEARCH option limits the coordinates to the minimum and the maximum of the coordinates of the node and its immediate successors.
separates the children (immediate successors) of a given node by adding an extra space in the center whenever it is needed to enable the node to be positioned at integral coordinates. For example, if a node has two children, placing the parent node at the midpoint between the two children requires the coordinate to be noninteger, which is not allowed in the Layout data set. By default, the procedure positions the node at the same level as one of its children. The SEPARATESONS option separates the two children by adding a dummy child in between, thus enabling the parent node to be centered with respect to its children. This option is valid only in conjunction with the TREE option.
shows breaks in the time axis by drawing a jagged break in the time axis line just before the tick mark corresponding to the break. This option is valid only for time-scaled network diagrams.
uses the variable STATUS (if it exists) in the Network data set to determine if an activity is in-progress or completed. Note that the STATUS variable exists in the Schedule data set produced by PROC CPM when used with an ACTUAL statement. If there is no STATUS variable or if the value is missing, the procedure uses the A_FINISH and A_START values to determine the status of the activity. If the network is drawn in line-printer or full-screen mode, activities in progress are outlined with the letter P and completed activities are outlined with the letter F; in high-resolution graphics mode, in-progress activities are marked with a diagonal line across the node from the bottom left to the top right corner, while completed activities are marked with two diagonal lines.
uses a spanning tree to place the nodes in the network. This method typically results in a wider layout than the default. However, for networks that have totally disjoint pieces, this option separates the network into connected components (or disjoint trees). This option is not valid for time-scaled or zoned network diagrams, because the node placement dictated by the spanning tree may not be consistent with the zone or the tickmark corresponding to the node.
specifies the variables in the Network data set that name all the immediate successors of the node specified by the ACTIVITY variable. This specification is ignored if the data set contains a variable named _TO_. At least one SUCCESSOR variable must be specified if the data set does not contain a variable called _TO_.
indicates that the network is to be drawn using a time axis for placing the nodes. This option can be used to align the network according to default variables. If the TIMESCALE option is specified without the ALIGN= option, the procedure looks for default variables in the following order: E_START, L_START, S_START, and A_START. The first of these variables that is found is used as the ALIGN= variable.
requests the procedure to draw the network as a tree if the network is indeed a tree (that is, all the nodes have at most one immediate predecessor). The option is ignored if the network does not have a tree structure.
indicates that the explicit format of the ALIGN= variable is to be used instead of the default format based on the MININTERVAL= option. Thus, for example, if the ALIGN variable contains SAS date values, by default, the procedure uses the DATE7. format for the time axis labels irrespective of the format of the ALIGN= variable. The USEFORMAT option specifies that the variable’s format should be used for the labels instead of the default format. This option is valid only for time-scaled network diagrams.
controls the number of arcs that are drawn vertically through the space between two adjacent nodes. A default value is based on the maximum number of successors of any node.
specifies the horizontal distance (in character cell positions) between two adjacent nodes. The value for this option must be at least 3; the default value is 5.
specifies the vertical distance (in character cell positions) between two adjacent nodes. The value for this option must be at least 3; the default value is 5.
names the variable in the Network data set used to separate the network diagram into zones.
labels the different zones and draws dividing lines between two consecutive zones. This is the default behavior; to omit the labels and the dividing lines, use the
NOZONELABEL option.
draws the network with an extra row between two consecutive zones.
specifies the character used for drawing the zigzag break lines down the chart at break points of the time axis. The default value is >. This option is valid only for time-scaled network diagrams.
specifies the color of the connecting lines (or arcs) between the nodes. The default value of this option is CYAN.
specifies the color of the time axis. The default value is WHITE. This option is valid only for time-scaled network diagrams.
specifies the color of arcs connecting critical activities. The procedure uses the values of the E_FINISH and L_FINISH variables (if they are present) in the Network data set to determine the critical activities. The default value is the value of the CARCS= option.
specifies the color of the reference lines. The default value is WHITE. This option is valid only for time-scaled network diagrams.
specifies the color of the lines drawn to denote breaks in the time axis. The default value is WHITE. This option is valid only for time-scaled network diagrams.
specifies the characters used for node outlines and arcs. See the section Line-Printer Options for a description of this option.
specifies an integer-valued variable in the Network data set that identifies the color number for each node of the network. If the data set contains a variable called _PATTERN, this specification is ignored. All the colors available for the full-screen device are used in order corresponding to the number specified in the PATTERN variable; if the value of the PATTERN variable is more than the number of colors available for the device, the colors are repeated starting once again with the first color. If a PATTERN variable is not specified, the procedure uses the first color for noncritical activities, the second color for critical activities, and the third color for supercritical activities.
specifies the reference character used for drawing reference lines. The default value is "|". This option is valid only for time-scaled network diagrams.
indicates that if a PATTERN variable is not specified or is missing and if a ZONE= variable is present, then the node colors are based on the value of the ZONE= variable.
specifies the input data set that contains the appropriate annotate variables for the purpose of adding text and graphics to the network diagram. The data set specified must be an Annotate data set. See the section Using the Annotate Facility for further details about this option.
specifies the length of the arrowhead in character cell positions. You can specify ARROWHEAD = 0 to suppress arrowheads altogether. The default value is 1.
specifies the color to use for drawing the connecting lines between the nodes. The default color depends on the GOPTIONS statement and the GSTYLE system option; see the section ODS Style Definitions for more information.
specifies the color of the time axis. This option is valid only for time-scaled network diagrams. The default color depends on the GSTYLE system option and the value of the CTEXT= option; see the section ODS Style Definitions for more information.
specifies the fill color for all critical nodes of the network diagram. If you specify this option, the procedure uses a solid fill pattern (with the color specified in this option) for all critical nodes, ignoring any fill pattern specified in the PATTERN statements; the PATTERN statements are used only to obtain the color of the outline for these nodes unless you specify the CCRITOUT= option. The default value for this option is the value of the CNODEFILL= option, if it is specified; otherwise, the procedure uses the PATTERN statements to determine the fill pattern and color.
specifies the color of arcs connecting critical activities. The procedure uses the values of the E_FINISH and L_FINISH variables (if they are present) in the Network data set to determine the critical activities. The default value of this option is the value of the CARCS= option.
specifies the outline color for critical nodes. The default value for this option is the value of the COUTLINE= option, if it is specified; otherwise, it is the same as the pattern color for the node.
centers the ID values placed within each node. By default, character valued ID variables are left justified and numeric ID variables are right justified within each node. This option centers the ID values within each node.
specifies the fill color for all nodes of the network diagram. If you specify this option, the procedure uses a solid fill pattern with the specified color, ignoring any fill pattern specified in the PATTERN statements; the PATTERN statements are used only to obtain the color of the outline for the nodes, unless you specify the COUTLINE= option.
draws the network on one physical page. By default, the procedure draws the network across multiple pages if necessary, using a default scale that allots one character cell position for each letter within the nodes. Sometimes, to get a broad picture of the network and all its connections, you may want to view the entire network on one screen. If the COMPRESS option is specified, PROC NETDRAW determines the horizontal and vertical transformations needed so that the network is compressed to fit on one screen.
specifies an outline color for all nodes. By default, the procedure sets the outline color for each node to be the same as the fill pattern for the node. This option is useful when used in conjunction with a solid fill using a light color. Note that if an empty fill pattern is specified, then the COUTLINE= option will cause all nodes to appear the same.
specifies the color of the reference lines. This option is valid only for time-scaled network diagrams. The default color depends on the GSTYLE system option and the value of the CTEXT= option; see the section ODS Style Definitions for more information.
specifies the color of the zigzag break lines. This option is valid only for time-scaled network diagrams. The default color depends on the GSTYLE system option and the value of the CTEXT= option; see the section ODS Style Definitions for more information.
specifies the color of all text on the network diagram including variable names or labels, values of ID variables, and so on. The default color depends on the GOPTIONS statement and the GSTYLE system option; see the section ODS Style Definitions for more information.
specifies a descriptive string, up to 40 characters in length, that appears in the description field of the master menu in PROC GREPLAY. If the DESCRIPTION= option is omitted, the description field contains a description assigned by PROC NETDRAW.
causes the diagram on each page to be magnified (if necessary) to fill up the page.
specifies the font of the text. The default font depends on the GOPTIONS statement and the GSTYLE system option; see the section ODS Style Definitions for more information.
specifies that the height for all text in PROC NETDRAW (excluding the titles and footnotes) be h times the value of the global HTEXT= option, which is the default text height specified in the GOPTIONS statement of SAS/GRAPH. The value of h must be a positive real number; the default value is 1.0.
specifies the width of a horizontal margin (in number of character cell positions) for the network in graphics mode. The default width is 1.
specifies that the network diagram is to be produced using h horizontal pages.
However, it may not be possible to use h horizontal pages due to intrinsic constraints on the output.
For example, PROC NETDRAW requires that every horizontal page should contain at least one level. Thus, the number of horizontal pages can never exceed the number of vertical levels in the network. The exact number of horizontal pages used by the network diagram is given in the _ORNETDR macro variable.
The appearance of the diagram with respect to the HPAGES= option is also influenced by the presence of other related procedure options. The HPAGES= option performs the task of determining the number of vertical pages in the absence of the VPAGES= option. If the COMPRESS or PCOMPRESS option is specified in this scenario, the chart uses one vertical page (unless the HPAGES= and VPAGES= options are specified). If neither the COMPRESS nor PCOMPRESS option is specified, the number of vertical pages is computed in order to display as much of the chart as possible in a proportional manner.
specifies the linestyle (1-46) of the reference lines. The default linestyle is 1, a solid line. This option is valid only for time-scaled network diagrams.
specifies the linestyle (1-46) of the zigzag break lines. The default linestyle is 1, a solid line. This option is valid only for time-scaled network diagrams.
specifies the line width for critical arcs and the node outlines for critical activities. If the LWCRIT= option is not specified, the procedure uses the value specified for the LWIDTH= option.
specifies the line width of the arcs and node outlines. The default line width is 1.
specifies the line width of the node outlines. The default line width for the node outline is equal to LWIDTH for noncritical nodes and LWCRIT for critical nodes.
specifies a string of up to eight characters that appears in the name field of the catalog entry for the graph. The default name is NETDRAW. If either the name specified or the default name duplicates an existing name in the catalog, then the procedure adds a number to the duplicate name to create a unique name, for example, NETDRAW2.
draws arrowheads that are not filled. By default, the procedure uses filled arrowheads.
suppresses the page numbers that are displayed in the top right corner of each page of a multipage network diagram. Note that the pages are ordered from left to right, bottom to top (unless the REVERSEY option is specified).
draws the network diagram just below the titles without centering in the vertical direction.
specifies the number of nodes that should be displayed horizontally across each page of the network diagram. This option determines the value of the HPAGES= option; this computed value of HPAGES overrides the specified value for the HPAGES= options.
specifies the number of nodes that should be displayed vertically across each page of the network diagram. This option determines the value of the VPAGES= option; this computed value of VPAGES overrides the specified value for the VPAGES= options.
numbers the pages of the network diagram on the top right-hand corner of the page if the diagram exceeds one page. The numbering scheme is from left to right, bottom to top (unless the REVERSEY option is specified).
specifies an integer-valued variable in the Network data set that identifies the pattern for filling each node of the network. If the data set contains a variable called _PATTERN, this specification is ignored. The patterns are assumed to have been specified using PATTERN statements. If a PATTERN variable is not specified, the procedure uses the first PATTERN statement for noncritical activities, the second PATTERN statement for critical activities, and the third PATTERN statement for supercritical activities.
draws the network diagram on one physical page. As with the COMPRESS option, the procedure determines the horizontal and vertical transformation needed so that the network is compressed to fit on one screen. However, in this case, the transformations are such that the network diagram is proportionally compressed. See Example 9.4 for an illustration of this option.
If the HPAGES= and VPAGES= options are used to control the number of pages, each page of the network diagram is drawn while maintaining the original aspect ratio.
draws arcs with rectangular corners. By default, the procedure uses rounded turning points and rounded arc merges in graphics mode.
reverses the order in which the pages are drawn. By default, the pages are ordered from bottom to top in the graphics mode. This option orders them from top to bottom.
rotates the network diagram to change the orientation of the network to be from top to bottom instead of from left to right. For example, you can use this option to draw a Bill of Materials diagram that is traditionally drawn from top to bottom with the Final Product drawn at the top of the tree. In addition to rotating the orientation of the network, use the ROTATETEXT option to rotate the text within each node. See Example 9.18 for an illustration of this option.
This option is similar to the global graphics option, ROTATE (GOPTIONS ROTATE). Note that if the global graphics option is used, titles and footnotes also need to be drawn with an angle specification: A=90. However, some device drivers ignore the global graphics option, ROTATE (for example, the SASGDDMX driver). Use the ROTATE option on the ACTNET statement for such device drivers.
rotates the text within the nodes by 90 degrees. This option is useful when used in conjunction with the ROTATE option in the ACTNET statement (or the global graphics option ROTATE) to change the orientation of the network to be from top to bottom instead of from left to right. For example, you can use this option to draw an organizational chart that is traditionally drawn from top to bottom with the head of the organization at the top of the chart. If the ROTATETEXT option is specified, then the definitions of the BOXHT= and BOXWIDTH= options are reversed. See Example 9.18 for an illustration of this option.
separates the arcs to follow distinct tracks. By default, the procedure draws all segments of the arcs along a central track between the nodes, which may cause several arcs to be drawn on top of one another. If the SEPARATEARCS option is specified, the procedure may increase the values of the XBETWEEN= and YBETWEEN= options to accommodate the required number of lines between the nodes.
specifies the width of a vertical margin (in number of character cell positions) for the network. The default width is 1.
specifies that the network diagram is to be produced using v vertical pages. This, however, may not be possible due to intrinsic constraints on the output. For example, PROC NETDRAW requires that every vertical page should contain at least one level. Thus, the number of vertical pages can never exceed the number of horizontal levels in the network. The exact number of vertical pages used by the procedure is provided in the _ORNETDR macro variable.
The appearance of the diagram with respect to the VPAGES= option is also influenced by the presence of other related procedure options. The VPAGES= option performs the task of determining the number of horizontal pages in the absence of the HPAGES= option (or the NXNODES= option). If the COMPRESS or PCOMPRESS option is specified (without the HPAGES= or NXNODES= options), the chart uses one horizontal page. If neither the COMPRESS nor PCOMPRESS option is specified, the number of horizontal pages is computed in order to display as much of the chart as possible in a proportional manner.
specifies the character variable in the Network data set that identifies an HTML page for each activity. The procedure generates an HTML image map using this information for each node in the network diagram.
indicates that if a PATTERN= variable is not specified or is missing and if a ZONE= variable is present, then the node patterns are based on the value of the ZONE= variable.
specifies the character used for drawing the zigzag break lines down the chart at break points of the time axis. The default value is >. This option is valid only for time-scaled network diagrams.
specifies the characters used for node outlines and arcs. The value is a string 20 characters long. The first 11 characters define the 2 bar characters, vertical and horizontal, and the 9 corner characters: upper-left, upper-middle, upper-right, middle-left, middle-middle (cross), middle-right, lower-left, lower-middle, and lower-right. These characters are used to outline each node and connect the arcs. The nineteenth character denotes a right arrow. The default value of the FORMCHAR= option is |----|+|---+=|-/\<>*. Any character or hexadecimal string can be substituted to customize the appearance of the diagram. Use an index list to specify which default form character each supplied character replaces, or replace the entire default string by specifying the full character replacement string without an index list. For example, change the four corners of each node and all turning points of the arcs to asterisks by specifying
FORMCHAR(3 5 7 9 11)= '*****'
Specifying
formchar=' ' (11 blanks)
produces a network diagram with no outlines for the nodes (as well as no arcs). For further details about the FORMCHAR= option see Chapter 5, The DTREE Procedure, and Chapter 6, The GANTT Procedure.
specifies the reference character used for drawing reference lines. The default value is "|". This option is valid only for time-scaled network diagrams.
Copyright © SAS Institute, Inc. All Rights Reserved.