SAS Institute. The Power to Know

SAS/GRAPH(R) 9.2 Reference

Previous Page | Next Page

SAS/GRAPH Statements

PATTERN Statement

The PATTERN statement defines the characteristics of patterns used in graphs.

Used by:

GAREABAR, GCHART, GBARLINE, GCONTOUR, GMAP, GPLOT procedures; SYMBOL statement; Annotate facility.

Global

Assigned by default


Description

PATTERN statements create PATTERN definitions that define the color and type of area fill for patterns used in graphs. These are the procedures and the graphics areas that they create that use PATTERN definitions:

GCHART

color, fill pattern, or image for the bars in two-dimensional bar charts; color and fill pattern for the segments of three-dimensional bar charts, pie charts, and star charts.

GCONTOUR

contour levels in contour plots

GMAP

map areas in choropleth, block, and prism maps; blocks in block maps

GPLOT

areas beneath or between plotted lines

In addition, the SYMBOL statement and certain Annotate facility functions and macros can use pattern specifications. For details see the SYMBOL Statement and Using Annotate Data Sets.

You can use the PATTERN statement to control the fill and color of a pattern, and whether the pattern is repeated. There are three types of patterns:

  • bar and block patterns

  • map and plot patterns

  • pie and star patterns

Pattern fills can be solid or empty, or composed of parallel or crosshatched lines. For two-dimensional bar charts, the PATTERN statement can specify images to fill horizontal or vertical bars. In addition, you can specify device-dependent hardware patterns for rectangle, polygon, and pie fills on devices that support hardware patterns.

If you do not create PATTERN definitions, SAS/GRAPH software generates them as needed and assigns them to your graphs by default. Generally, the default behavior is to rotate a solid pattern through the current color list. For details, see About Default Patterns.


Syntax

PATTERN<1...255>
<COLOR=pattern-color |_style_>
<REPEAT=number-of-times>
<VALUE=bar/block-pattern
| map/plot-pattern
| pie/star-pattern >

  • bar/block-pattern can be one of these:

    EMPTY

    SOLID

    style <density>

  • map/plot-pattern can be one of these:

    MEMPTY

    MSOLID

    Mdensity <style <angle>>

  • pie/star-pattern can be one of these:

    PEMPTY

    PSOLID

    Pdensity <style <angle>>


Options

COLOR=pattern-color | _style_

specifies the color of the fill. Pattern-color is any SAS/GRAPH color name. The _STYLE_ value specifies the appropriate color based on the current style. See SAS/GRAPH Colors and Images .

Note:   ActiveX assigns colors in a different order from Java, so the same data can appear differently with those two drivers.  [cautionend]

Using the COLOR= option with a null value cancels the color specified in a previous PATTERN statement of the same number without affecting the values of other options.

The COLOR= option overrides the CPATTERN= graphics option.

The CFILL= option in the PIE and STAR statements overrides the COLOR= option. For details, see Controlling Slice Patterns and Colors.

CAUTION:
Omitting the COLOR= option in a PATTERN statement can cause the PATTERN statement to generate multiple PATTERN definitions.   [cautionend]

If no color is specified for a PATTERN statement, that is, if neither the COLOR= nor the CPATTERN= option is used, the PATTERN statement rotates the specified fill through each color in the color list before the next PATTERN statement is used. .

Alias: C=pattern-color
See also: Working with PATTERN Statements
Featured in: Example 7. Using BY-group Processing to Generate a Series of Charts
Restriction: Partially supported by Java and ActiveX
IMAGE= fileref | "external-file"

specifies an image file that is used to fill one or more bars of a bar chart, as generated by the HBAR, HBAR3D, VBAR, and VBAR3D statements of the GCHART procedure. The format of the external file specification varies across operating environments. See also the IMAGESTYLE= option.

Note:   When you specify an image file to fill a bar, the bar is not outlined. Also, the COLOR= and VALUE= options are ignored.  [cautionend]

Note:   If an image is specified on a PATTERN statement that is used with another type of chart, then the PATTERN statement is ignored and default pattern rotation is affected. For example, if you submit a PIE statement when an image has been specified in a PATTERN statement, the default fill pattern is used for the pie slices, with each slice in the pie displaying the fill pattern in the same color.

For DEVICE=ACTIVEX and DEVICE=ACTXIMG, if you do not specify a pathname to the image, then the ActiveX control searches a predefined list of locations to try to find the image. If all else fails, the ActiveX control looks for the image on the Web. It is recommended that you specify the pathname to the image.

For DEVICE=JAVA and DEVICE=JAVAIMG, the IMAGE= option works only for the VBAR and HBAR statements.  [cautionend]

See also: For related information, see Placing Images on the Bars of Bar Charts
Restriction: Partially supported by Java and ActiveX
IMAGESTYLE = TILE | FIT

specifies how the image specified in the IMAGE= option is to be applied to fill a bar in a bar chart. The TILE value, which is the default, repeats the image as needed to fill the bar. The FIT value stretches a single instance of the image to fill the bar.

Restriction: Partially supported by Java and ActiveX
REPEAT=number-of-times

specifies the number of times that a PATTERN definition is applied before the next PATTERN definition is used. By default, REPEAT=1.

The behavior of the REPEAT= option depends on the color specification:

  • If you use both the COLOR= and the REPEAT= options in a PATTERN statement, the pattern is repeated the specified number of times in the specified color. The fill can be either the default solid or a fill specified with the VALUE= option.

  • If you use the CPATTERN= option in a GOPTIONS statement to specify a single pattern color, and use the REPEAT= option either alone or with the VALUE= option in a PATTERN statement, the resulting hatch pattern is repeated the specified number of times.

  • If you omit both the COLOR= and CPATTERN= options, and use the REPEAT= option either alone (generates default solids) or with the VALUE= option in a PATTERN statement, the resulting pattern is rotated through each color in the color list, and then the entire group generated by this cycle is repeated the number of times specified in the REPEAT= option. Thus, the total number of patterns produced depends on the number of colors in the current color list.

Using REPEAT= with a null value cancels the repetition specified in a previous PATTERN statement of the same number without affecting the values of other options. Note that in most cases, it is preferable to use LEVELS=1 in the GMAP procedure rather than using this option on the PATTERN statement.

Alias: R=number-of-times
See also: Understanding Pattern Sequences
Restriction: Partially supported by Java and ActiveX
VALUE=bar/block-pattern

specifies patterns for:

  • bar charts produced by the HBAR, HBAR3D, VBAR, and VBAR3D statements in the GCHART procedure including two-dimensional and three-dimensional bar shapes.

  • the front surface of blocks in block charts produced by the BLOCK statement in the GCHART procedure.

  • the blocks in block maps produced by the BLOCK statement in the GMAP procedure. (The map area from which the block rises takes a map pattern as described on the option VALUE=). See also About Block Maps and Patterns.

Values for bar/block-pattern are as follows:

EMPTY
E

an empty pattern. Neither the Java applet nor the ActiveX control supports EMPTY.

SOLID
S

a solid pattern (the only valid value for three-dimensional charts).

style<density>

a shaded pattern.

Note:   style<density> is not supported by the Java or ActiveX device drivers.  [cautionend]

Style specifies the direction of the lines:
L

left-slanting lines.

R

right-slanting lines.

X

crosshatched lines.

Density specifies the density of the pattern's shading:

1...5

1 produces the lightest shading and 5 produces the heaviest shading.

Bar and Block Patterns shows all of the patterns available for bars and blocks.

Bar and Block Patterns

[Bar and Block Patterns]

If no valid patterns are available, default bar and block fill patterns are selected in this order:

  1. SOLID

  2. X1- X5

  3. L1- L5

  4. R1- R5

Each fill is used once with every color in the color list unless a pattern color is specified. The entire sequence is repeated as many times as required to provide the necessary number of patterns.

Alias: V=bar/block-pattern
Restriction: Partially supported by Java and ActiveX
VALUE=map/plot-pattern

specifies patterns for the following:

  • contour levels in contour plots produced by the GCONTOUR procedure

  • map area surfaces in block, choropleth, and prism maps produced by the BLOCK, CHORO, AND PRISM statements in the GMAP procedure.

  • areas under curves in plots produced by the AREAS= option in the PLOT statement in the GPLOT procedure.

Values for map/plot-pattern are as follows:

MEMPTY
ME

an empty pattern. EMPTY or E are also valid aliases, except when used with the map areas in block maps created by the GMAP procedure.

MSOLID
MS

a solid pattern. SOLID or S are also valid aliases, except when used with the map areas in block maps created by the GMAP procedure.

Mdensity<style<angle>>

a shaded pattern.

Note:   Mdensity<style<angle>> is not supported by the Java or ActiveX device drivers.  [cautionend]

Density specifies the density of the pattern's shading:

1...5

1 produces the lightest shading and 5 produces the heaviest shading.

Style specifies the type of the pattern lines:

N

parallel lines (the default).

X

crosshatched lines.

Angle specifies the angle of the pattern lines:

0...360

the degrees at which the parallel lines are drawn, measured from the horizontal. By default, angle is 0 (lines are horizontal).

Map and Plot Patterns shows some typical map and plot patterns.

Map and Plot Patterns

[Map and Plot Patterns]

If no valid patterns are available, default map and plot fill patterns are selected in this order:

  1. MSOLID

  2. M2N0

  3. M2N90

  4. M2X45

  5. M4N0

  6. M4N90

  7. M4X90

Each fill is used once with every color in the color list unless a pattern color is specified. The entire sequence is repeated as many times as required to provide the necessary number of patterns.

Alias: V=map/plot-pattern
Restriction: Partially supported by Java and ActiveX.
VALUE=pie/star-pattern

specifies patterns for pie and star charts produced by the PIE and STAR statements in the GCHART procedure. Values for pie/star-pattern are

PEMPTY
PE

an empty pattern. EMPTY or E are also valid aliases.

PSOLID
PS

a solid pattern. SOLID or S are also valid aliases.

Pdensity<style<angle>>

a shaded pattern.

Note:   Pdensity<style<angle>> is not supported by the Java or ActiveX device drivers.  [cautionend]

Density specifies the density of the pattern's shading:

1...5

1 produces the lightest shading and 5 produces the heaviest shading.

Style specifies the type of the pattern lines:

N

parallel lines (the default).

X

crosshatched lines.

Angle specifies the angle of the pattern lines:

0...360

the angle of the lines, measured in degrees from perpendicular to the radius of the slice. By default, angle is 0.

The FILL= option in the PIE and STAR statements in the GCHART procedure overrides VALUE=.

Pie and Star Patterns shows some typical pie and star patterns.

Pie and Star Patterns

[Pie and Star Patterns]

If no valid patterns are available, default pie and star fill patterns are selected in this order:

  1. PSOLID

  2. P2N0

  3. P2N90

  4. P2X45

  5. P4N0

  6. P4N90

  7. P4X90

Each fill is used once with every color in the color list unless a pattern color is specified. The entire sequence is repeated as many times as required to provide the necessary number of patterns.

Note:   If you use hatch patterns and request a legend instead of slice labels, the patterns in the slices are oriented to be visually equivalent to the legend.  [cautionend]

Alias: V=pie/star-pattern
Restriction: Partially supported by Java and ActiveX

Using the PATTERN Statement

PATTERN statements can be located anywhere in your SAS program. They are global and remain in effect until redefined, canceled, or until the end of your SAS session.

You can define up to 255 different PATTERN statements. A PATTERN statement without a number is treated as a PATTERN1 statement.

PATTERN statements generate one or more PATTERN definitions, depending on how the COLOR=, VALUE=, and IMAGE= options are used. For information on PATTERN definitions, see Working with PATTERN Statements, as well as the description of COLOR=, VALUE=, and IMAGE= options.

PATTERN definitions are generated in the order in which the statements are numbered, regardless of gaps in the numbering or the statement's position in the program. Although it is common practice, you do not have to start with PATTERN1, and you do not have to use sequential statement numbers.

PATTERN definitions are applied automatically to all areas of the graphics output that require patterns. When assigning PATTERN definitions, SAS/GRAPH starts with the lowest-numbered definition with an appropriate fill specification or with no fill specification. It continues to use the specified patterns until all valid PATTERN definitions have been used. Then, if more patterns are required, SAS/GRAPH returns to the default pattern rotation, but continues to outline the areas in the same color as the fill.


Altering or Canceling PATTERN Statements

PATTERN statements are additive. If you define a PATTERN statement and later submit another PATTERN statement with the same number, the new PATTERN statement redefines or cancels only the options that are included in the new statement. Options not included in the new statement are not changed and remain in effect. For example, assume you define PATTERN4 as follows:

pattern4 value=x3 color=red repeat=2;

This statement cancels only REPEAT= without affecting the rest of the definition:

pattern4 repeat=;

Add or change options in the same way. This statement changes the color of the pattern from red to blue:

pattern4 color=blue;

After all these modifications, PATTERN4 has these characteristics:

pattern4 value=x3 color=blue;

Cancel individual PATTERN statements by defining a PATTERN statement of the same number without options (a null statement):

pattern4;

Canceling one PATTERN statement does not affect any other PATTERN definitions. To cancel all current PATTERN statements, use the RESET= option in a GOPTIONS statement:

goptions reset=pattern;

Specifying RESET=GLOBAL or RESET=ALL cancels all current PATTERN definitions as well as other settings.

To display a list of current PATTERN definitions in the LOG window, use the GOPTIONS procedure with the PATTERN option:

proc goptions pattern nolist;
run;


About Default Patterns

When a procedure produces a graph that needs one or more patterns, SAS/GRAPH either does one of the following:

  • automatically generates the appropriate default patterns and outlines to