Chapter Contents

Previous

Next
SAS/GRAPH Software: Reference

AXIS Statement

The AXIS statement controls the location, values, and appearance of the axes in plots and charts.

Used by:
GCHART, GCONTOUR, and GPLOT procedures

Global

Description

AXIS statements specify the characteristics of an axis, including:

AXIS definitions are used only when they are explicitly assigned by an option in a procedure that produces graphs with axes.

Parts of Axes illustrates the terms associated with the various parts of axes.

Parts of Axes

[IMAGE]


Syntax

AXIS<1...99><options>;

option(s) can be one or more options from any or all of the following categories:


Options

When the syntax of an option includes units, use one of these:
CELLS character cells
CM centimeters
IN inches
PCT percentage of the graphics output area
PT points

If you omit units, a unit specification is searched for in this order:

  1. GUNIT= in a GOPTIONS statement

  2. the default unit, CELLS.

COLOR=axis-color
C=axis-color
specifies the color for all axis components (the axis line, all tick marks, and all text) unless you include a more explicit AXIS statement color specification. Any of these color specifications override COLOR= for the specified item:

Option Items Affected
AXIS statement:

LABEL=(COLOR=color)

REFLABEL=(COLOR=color)

VALUE=(COLOR=color)


axis label

reference-line labels

major tick mark values

calling procedure:

CTEXT=

CAXIS=


all axis text (AXIS label and major tick mark value descriptions)

axis line and major and minor tick marks


If you omit all color options, the AXIS statement looks for a color specification in this order:

  1. the CTEXT= graphics option in a GOPTIONS statement.

  2. If CTEXT= is not used, the color of all axis components is the first color in the colors list, except for PROC GCONTOUR, which uses the second color.

Featured in: Example 1. Ordering Axis Tick Marks with SAS Datetime Values

LABEL=(text-argument(s)) | NONE
modifies an axis label. Text-argument(s) defines the appearance or the text of an axis label, or both. NONE suppresses the axis label. Text-argument(s) can be one or more of these:

'text-string'
provides up to 256 characters of label text. By default, the text of the axis label is either the variable name or a previously assigned variable label. Enclose each string in quotes. Separate multiple strings with blanks.

text-description-suboption
modifies a characteristic such as the font, color, or size of the text string(s) that follows it. Text-description-suboption can be
ANGLE=degrees
COLOR=text-color
FONT=font | NONE
HEIGHT=text-height <units >
JUSTIFY=LEFT | CENTER | RIGHT
ROTATE=degrees

See Text Description Suboptions for a complete description.

Specify as many text strings and text description suboptions as you want, but enclose them all in one set of parentheses.
Featured in: Example 1. Ordering Axis Tick Marks with SAS Datetime Values, Example 2. Specifying Logarithmic Axes , and Example 7. Using BY-group Processing to Generate a Series of Charts

LENGTH=axis length <units >
specifies the length of the axis in number of units. If you request a length that cannot fit the display, an error message is issued and no graph is drawn.
Featured in: Example 2. Specifying Logarithmic Axes and Example 9. Combining Graphs and Reports in a Web Page

LOGBASE=base | E | PI
scales the axis values logarithmically according to the value specified. Base must be greater than 1. How the values are displayed on the axis depends on the LOGSTYLE= option. For example, LOGBASE=E with the default LOGSTYLE=EXPAND generates an axis like the one in Axis Generated with LOGBASE=E and LOGSTYLE=EXPAND.

Axis Generated with LOGBASE=E and LOGSTYLE=EXPAND

[IMAGE]

Featured in: Example 2. Specifying Logarithmic Axes

LOGSTYLE=EXPAND | POWER
specifies whether the values displayed on the logarithmic axis are the values of the base or the values of the power. LOGSTYLE= is meaningful only when you use LOGBASE=.

LOGSTYLE=EXPAND specifies that the values displayed are the values of the base raised to successive powers and that the minor tick marks are logarithmically placed. For example, if the base is 10, the values displayed are 10, 100, 1000, 10000, and so on. The default is LOGSTYLE=EXPAND. This statement generates an axis like the one in part (a) of Axes Generated with the LOGSTYLE=Option:

axis logbase=10 logstyle=expand;

LOGSTYLE=POWER specifies that the values displayed are the powers to which the base is raised (for example, 1, 2, 3, 4, 5, and so on). For example, this statement generates an axis like the one in part (b) of Axes Generated with the LOGSTYLE=Option:

axis logbase=10 logstyle=power;

Axes Generated with the LOGSTYLE=Option

[IMAGE]

If you use ORDER= with a logarithmic axis, the values specified by ORDER= must match the style specified by LOGSTYLE=. For example, if you specify a logarithmic axis with a base of 2 and you want to display the first five expanded values, use this statement:

axis logbase=2 logstyle=expand
     order=(2 4 8 16 32);

If you use LOGSTYLE=POWER, the values in ORDER= must represent the powers to which the base is raised, as in this example:

axis logbase=2 logstyle=power order=(1 2 3 4 5);

If the values that are specified by ORDER= do not match the type of values specified by LOGSTYLE=, the request for a logarithmic axis is ignored.
Featured in: Example 2. Specifying Logarithmic Axes

MAJOR=(tick-mark-suboption(s) ) | NONE
modifies the major tick marks. Tick-mark-suboption(s) defines the color, size, and number of the major tick marks. NONE suppresses all major tick marks, although the values represented by those tick marks are still displayed. Tick-mark-suboption can be
COLOR=tick-color
HEIGHT=tick-height <units >
NUMBER=number-of-ticks
WIDTH=thickness-factor

See Tick Mark Description Suboptions for complete descriptions. List all suboptions and their values within the parentheses.

AXIS definitions assigned to the group axis of a bar chart by the GAXIS= option ignore MAJOR= because the axis does not use tick marks.
Featured in: Example 1. Ordering Axis Tick Marks with SAS Datetime Values , Example 2. Specifying Logarithmic Axes, and Example 7. Using BY-group Processing to Generate a Series of Charts

MINOR=(tick-mark-suboption(s) ) | NONE
modifies the minor tick marks that appear between major tick marks. Tick-mark-suboption(s) defines the color, number, or size of the minor tick marks. NONE suppresses all minor tick marks. Tick-mark-suboption can be
COLOR=tick-color
HEIGHT=tick-height <units >
NUMBER=number-of-ticks
WIDTH=thickness-factor

See Tick Mark Description Suboptions for complete descriptions. List all suboptions and their values within the parentheses.

AXIS definitions assigned to the group axis of a bar chart by the GAXIS= option ignore MINOR= because the axis does not use tick marks.
Featured in: Example 1. Ordering Axis Tick Marks with SAS Datetime Values, Example 2. Specifying Logarithmic Axes, and Example 7. Using BY-group Processing to Generate a Series of Charts

NOBRACKETS
suppresses the printing of group brackets drawn around the values on the group axis in a bar chart. NOBRACKETS applies only to the group axis of bar charts.
See also: GROUP= and GAXIS=

NOPLANE
removes either the horizontal or vertical 3D axis plane in bar charts produced by the HBAR3D and VBAR3D statements. NOPLANE affects only the axis to which the AXIS statement applies.

To remove selected axis elements such as lines, values or labels, use specific AXIS statement options. To remove all axis elements except the 3D planes use the NOAXIS option in the procedure. To remove the backplane, use the NOFRAME option in the procedure.
Featured in: Example 7. Using BY-group Processing to Generate a Series of Charts

OFFSET=(<n1><,n2>)<units > | (<n1<units>><,n2<units>>)
specifies the distance from the first and last major tick marks or bars to the ends of the axis line.

The value of (n1 ) is the distance from the beginning (origin) of the axis line to the first tick mark or middle of the first bar, and the value of (n2 ) is the distance from the end of the axis line to the last tick mark or middle of the last bar.

On a horizontal axis, the (n1) offset is measured from the left end of the axis line and the (n2) offset is measured from the right end. On a vertical axis, the (n1) offset is measured up from the bottom of the axis line and the (n2) offset is measured down from the top of the line.

To specify the same offset for both n1 and n2, use one value, with or without a following comma. For example, either option sets both n1 and n2 to 4 centimeters:

offset=(4 cm)
offset=(4 cm,)

To specify different offsets, use two values, with or without a comma separating them. For example,

offset=(4 cm, 2 cm)

To specify only the second offset, use only one value preceded by a comma. This option offsets the last major tick mark or bar 3 centimeters from the right-hand end of the axis line:

offset=(,3 cm)

You can specify units for the n1,n2 pair or for the individual offset values.
Featured in: Example 1. Ordering Axis Tick Marks with SAS Datetime Values

ORDER=(value-list )
specifies the order in which data values appear on the axis. The values specified by ORDER= are the major tick mark values. You can modify the appearance of these values with the VALUE= option.

The way you specify value-list depends on the type of variable:

With any type of value-list, specifying values that are not distributed uniformly or are not in ascending or descending order, generates a warning message in the SAS log. The specified values are spaced evenly along the axis even if the values are not distributed uniformly.

Using ORDER= to restrict the values displayed on the axis may result in clipping. For example, if the data range is 1 to 10 and you specify ORDER=(3 TO 5), only the data values from 3 to 5 appear on the plot or chart. For charts, the omitted values are still included in the statistic calculation.

Note:   Values out of range do not always produce a warning message in the SAS log.  [cautionend]

CAUTION:
The ORDER= option does not calculate midpoint values; as a result it is not interchangeable with the MIDPOINTS= option in the GCHART procedure.   [cautionend]
You can use ORDER= to specify the order in which the midpoints are displayed on a chart, but do not use it to calculate midpoint values. Be sure that the values you specify match the midpoint values that are calculated either by default by the GCHART procedure or by the MIDPOINTS= option. For details, see the description of MIDPOINTS= for the appropriate statement in The GCHART Procedure.

ORDER= overrides the suboption NUMBER= described in Tick Mark Description Suboptions.

ORDER= is not valid with the ASCENDING, DESCENDING and NOZEROS options used with the bar chart statements in the GCHART procedure.
Featured in: Example 1. Ordering Axis Tick Marks with SAS Datetime Values, Example 5. Filling the Area between Plot Lines, and Example 7. Using BY-group Processing to Generate a Series of Charts

ORIGIN=(<x><,y>)<units> | (<x<units>><,y<units>>)
specifies the x coordinate and the y coordinate of the origin of the axis. The origin of the horizontal axis is the left end of the axis, and the origin of the vertical axis is the bottom of the axis. ORIGIN= explicitly positions the axis anywhere on the graphics output area.

If you specify only one value, with or without a comma following it, only the x coordinate is set to that value. For example, this specification sets x to 4 centimeters:

origin=(4 cm,)

If you specify two values, with or without a comma separating them, the first value sets the x coordinate and the second value sets the y coordinate, as in this example:

origin=(2 pct, 4 pct)

If you specify one value preceded by a comma, only the y coordinate is set to that value, as shown here:

origin=(,3 pct)

You can specify units for the x,y pair or for the individual coordinates.

REFLABEL=(text-argument(s)) | NONE
creates and defines the appearance of a reference-line label. Text-argument(s) defines the appearance or the text of the label, or both. NONE suppresses the reference-line label. Text-argument(s) can be one or more of these:

'text-string'
provides up to 256 characters of label text. By default, a reference line does not have a label. Enclose each string in quotes. Separate multiple strings with blank spaces; the strings are applied to the reference lines consecutively along the axis, from the plot origin to the end of the axis.

text-description-suboption
modifies a characteristic such as the font, color, or size of the text string(s) that follows it. Text-description-suboption can be
ANGLE=degrees
AUTOREF
COLOR=text-color
FONT=font | NONE
HEIGHT=text-height <units >
JUSTIFY=LEFT | CENTER | RIGHT
POSITION=TOP| MIDDLE| BOTTOM
ROTATE=degrees
T=n

See Text Description Suboptions for a complete description.

Specify as many text strings and text description suboptions as you want, but enclose them all in one set of parentheses.

SPLIT="split-char"
specifies the split character that the AXIS statement uses to break axis values into multiple lines. Split-char can be any character value that can be specified in a SAS character variable. The split character must be embedded in the variable values in the data set or in an associated format. When the AXIS statement encounters the split character, it automatically breaks the value at that point and continues on the next line. For example, suppose the data set contains the value Berlin, Germany, and you specify SPLIT=",". The value would appear on the axis as
Berlin
Germany

Note that the split character itself is not displayed.

Axis values specified with VALUE= do not use the split character. For example, suppose you specify this statement:

axis1 spilt="," value=(t1='December, 1999');

The value will appear on the axis on one line as December, 1999. However, any other axis values containing a comma would honor the split character.
Featured in: Creating Bar Charts with Drill-down for the Web

STYLE=line-type
specifies a line type for the axis line. Valid values for line-type are 0 through 46. If you specify STYLE=0, the axis line is not drawn. The default is 1, a solid line.
See also: Line Types for examples of the available line types

VALUE=(text-argument(s) ) | NONE
modifies the major tick mark values. That is, this option modifies the text that labels the major tick marks on the axis. Text-argument(s) defines the appearance or the text of a major tick mark value, or both. NONE suppresses the major tick mark values, although the major tick marks are still displayed. Text-argument(s) can be one or more of these:

'text-string'
provides up to 256 characters of text for the major tick mark value. By default, the value is either the variable value or an associated format value. Enclose each string in quotes and separate multiple strings with blanks.

Specified text strings are assigned to major tick marks in order. If you specify only one text string, only the first tick mark value changes, and all the other tick mark values display the default. If you specify multiple strings, the first string is the value of the first major tick mark, the second string is the value of the second major tick mark, and so forth. For example, to change default tick mark values 1, 2, and 3 to First, Second, and Third, use this option:

value=('First' 'Second' 'Third')

Note:   Although VALUE= changes the text displayed at a major tick mark, it does not affect the actual value represented by the tick mark. To change the tick mark values, use ORDER=. To change the value of midpoints in bar charts produced with the GCHART procedure, use the MIDPOINTS= option in the procedure.  [cautionend]

text-description-suboption
modifies a characteristic such as the font, color, or size of the text string(s) that follows it. Text-description-suboption can be
ANGLE=degrees
COLOR=text-color
FONT=font | NONE
HEIGHT=text-height <units >
JUSTIFY=LEFT | CENTER | RIGHT
ROTATE=degrees
TICK=n

For a complete description, see Text Description Suboptions.

Place text description suboptions before the text strings they modify. Suboptions not followed by a text string affect the default values. To specify and describe the text for individual values or to produce multi-line text, use the TICK= suboption.

Specify as many text strings and text description suboptions as you want, but enclose them all in one set of parentheses.
Featured in: Example 2. Specifying Logarithmic Axes, Example 7. Using BY-group Processing to Generate a Series of Charts, and Example 9. Combining Graphs and Reports in a Web Page

WIDTH=thickness-factor
specifies the thickness of the axis line. Thickness increases directly with the value of thickness-factor. By default, WIDTH=1.
Featured in: Example 1. Ordering Axis Tick Marks with SAS Datetime Values


Text Description Suboptions

Text description suboptions are used by the LABEL=, REFLABEL=, and VALUE= options to change the color, height, justification, font, and angle of either default text or specified text strings. See LABEL=, REFLABEL=, and VALUE=.

ANGLE=degrees
A=degrees
specifies the angle of the baseline with respect to the horizontal. A positive value for degrees moves the baseline counterclockwise; a negative value moves it clockwise. By default, ANGLE=0 (horizontal) unless the text is automatically angled or rotated to avoid overlapping. For an illustration of the effect of ANGLE=, see Positioning Titles with the ANGLE= Option.
See also: the ROTATE= suboption
Featured in: Creating Bar Charts with Drill-down for the Web

AUTOREF
automatically labels each reference line on an axis with the response value at the reference line's position. AUTOREF is only used with the REFLABEL= option. The automatic labels are applied only to reference lines that do not have specific labels assigned to them. For example, the following option uses the response-axis value as the label for every reference line except the second reference line, which is assigned the label two:
reflabel=(autoref t=2 "two")
See also: the T= suboption

COLOR=text-color
C=text-color
specifies the color for the text. If you omit the COLOR= suboption, a color specification is searched for in this order:
  1. the CTEXT= option for the procedure

  2. the CTEXT= option in a GOPTIONS statement

  3. the default, the first color in the colors list.

FONT=font | NONE
F=font | NONE
specifies the font for the text. See SAS/GRAPH Fonts for details on specifying font. If you omit FONT=, a font specification is searched for in this order:
  1. the FTEXT= option in a GOPTIONS statement

  2. the default hardware font, NONE.

HEIGHT=text-height <units >
H=text-height <units >
specifies the height of the text characters in number of units. By default, HEIGHT=1 CELL. If you omit HEIGHT=, a text height specification is searched for in this order:
  1. the HTEXT= option in a GOPTIONS statement

  2. the default value, 1.

JUSTIFY=LEFT | CENTER | RIGHT
J=L | C | R
specifies the alignment of the text. The default depends on the option with which it is used and the text it applies to.

You can use JUSTIFY= to print multiple lines of text by repeating JUSTIFY= before the text string for each line. You can also use JUSTIFY= to specify multi-line text at specified major tick marks. For example, this statement produces an axis label and major tick mark values like those shown in The JUSTIFY= Suboption.

axis label=('Current' justify=c
            'Sales Projections')
     value=(tick=1 'JAN' justify=c '1997'
            tick=2 'FEB' justify=c '1997'
            tick=3 'MAR' justify=c '1997'
            tick=4 'APR' justify=c '1997'
            tick=5 'MAY' justify=c '1997');

The JUSTIFY= Suboption

[IMAGE]

Specify additional suboptions before any string.
See also: the suboption TICK=

POSITION=TOP | MIDDLE | BOTTOM
specifies the position of a reference-line label relative to the reference line. The default is TOP for both vertical and horizontal reference lines. POSITION= is only available on the REFLABEL= option.

ROTATE=degrees
R=degrees
specifies the angle at which each character of text is rotated with respect to the baseline of the text string. A positive value for degree rotates the character counterclockwise; a negative value moves it clockwise. By default, ROTATE=0 (parallel to the baseline) unless the text is automatically angled or rotated to avoid overlapping. For an illustration of the effect of ROTATE=, see Tilting Characters with the ROTATE= Option.
See also: the ANGLE= suboption

TICK=n
T=n
specifies the n reference line or tick mark value. Used only with REFLABEL= or with VALUE=


Using Text Description Suboptions

Text description suboptions affect all the strings that follow them unless the suboption is changed or turned off. If the value of a suboption is changed, the new value affects all the text strings that follow it. Consider this example:

label=(font=swiss height=4 'Weight'
       justify=right height=3 '(in tons)')

FONT=SWISS applies to both Weight and (in tons). HEIGHT=4 affects Weight, but is respecified as HEIGHT=3 for (in tons). JUSTIFY=RIGHT affects only (in tons).

Tick Mark Description Suboptions

Tick mark description suboptions are used by MAJOR= and MINOR= to change the color, height, width, and number of the tick marks to which they apply. See MAJOR= and MINOR=.

COLOR=tick-mark-color
C=tick-mark color
colors the tick marks. If you omit the COLOR= suboption, a color specification is searched for in this order:
  1. the COLOR= option in the AXIS statement

  2. the CAXIS= option for the procedure

  3. the default, the first color in the colors list.

HEIGHT=tick-height <units>
H=tick-height <units>
specifies the height of the tick mark. The defaults for the HEIGHT= suboption depend on the option with which it is used:

If you specify a negative number, tick marks are drawn inside the axis.

NUMBER=number-of-ticks
N=number-of-ticks
specifies the number of tick marks to be drawn. With MAJOR=, number-of-ticks must be greater than 1. With MINOR=, number-of-ticks must be greater than 0.

With MAJOR=, the NUMBER= suboption can be overridden by a major tick mark specification in the procedure, which in turn can be overridden by ORDER=.

With MINOR=, the NUMBER= suboption can be overridden by a minor tick mark specification in the procedure.

NUMBER= is not valid with logarithmic axes.

WIDTH=thickness-factor
W=thickness-factor
specifies the thickness of the tick mark, where thickness-factor is a number. Thickness increases directly with thickness-factor. By default, WIDTH=1.


Using the AXIS Statement

AXIS statements can be defined anywhere in your SAS program. They are global and remain in effect until redefined, canceled, or until the end of your SAS session. AXIS statements are not applied automatically, and must be explicitly assigned by an option in the procedure that uses them.

You can define up to 99 different AXIS statements. If you define two AXIS statements of the same number, the most recently defined one replaces the previously defined statement of the same number. An AXIS statement without a number is treated as an AXIS1 statement.

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

axis4;

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

goptions reset=axis;

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

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

proc goptions axis nolist;
run;


Assigning AXIS Definitions

AXIS definitions must always be explicitly assigned by the appropriate option in the statement that generates the graph. The following table lists the procedures and statements that generate axes, the type of axis, and the statement option that assigns an AXIS definitions to that axis:

Procedure Statement that generates an axis Type of axis Option that assigns an AXIS definition
GCHART HBAR | VBAR group axis midpoint axis response axis GAXIS= MAXIS= RAXIS=
GCONTOUR PLOT horizontal axis vertical axis HAXIS= VAXIS=
GPLOT PLOT horizontal axis vertical axis HAXIS= VAXIS=

Some types of axes cannot use certain AXIS statement options:


Chapter Contents

Previous

Next

Top of Page

Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.