| SAS/GRAPH Software: Reference |
The AXIS statement controls the location,
values, and appearance
of the axes in plots and charts.
-
Used by:
-
GCHART, GCONTOUR, and GPLOT procedures
Global
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
option(s) can be one or more options from any or
all of the following categories:
When the syntax of an option includes
units, use
one of these:
If you omit units, a unit specification
is searched for in this order:
-
GUNIT= in a GOPTIONS statement
-
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:
If you omit all color options,
the AXIS statement looks
for a color specification in this order:
-
the CTEXT= graphics option in a GOPTIONS statement.
-
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.
-
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
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.
-
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.
-
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
-
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
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.
-
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
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.
-
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
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.
-
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.
-
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.
-
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.
-
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:
-
For numeric variables,
value-list is either an explicit list of values or a starting and an
ending value with an interval increment, or a combination of both forms:
If a numeric variable has an associated format, the
specified values must be the unformatted values.
Values must be listed in either ascending or descending
order. By default the increment value is 1. You can use a negative integer
for increment to specify a value list in descending order. In
all forms, multiple n values can be separated by blanks or commas.
Here are some examples:
order=(2 4 6)
order=(6,4,2)
order=(2 to 10 by 2)
order=(50 to 10 by -5)
If the specified range is not evenly divisible by the
increment value, the highest value displayed on the axis is the last incremental
value below the ending value for the range. For example, this value list produces
a maximum axis value of 9:
order=(0 to 10 by 3)
-
For character variables, value-list
is a list of unique character values enclosed in quotes
and separated by blanks:
If a character variable has an associated format, the
specified values must be the formatted values.
Character values can be specified in any order, but
the character strings must match exactly the variable values in case and spelling.
For example,
order=('Paris' 'London' 'Tokyo')
Observations can be inadvertently excluded if entries
in the value-list are misspelled or if the case does not match
exactly.
-
For date and time values,
value-list can have the following forms:
These value
lists use SAS date and time values:
order=('25MAY98'd '04JUL98'd '07SEP98'd)
order=('01JUL97'd to '01AUG97'd)
order=('01JUL97'd to '01JAN98'd by week)
order=('9:25't to '11:25't by minute)
order=('04JUN97:12:00:00'dt to
'10JUN9712:00:00'dt by dtday)
With SAS date and time values, use a FORMAT statement
so that the tick mark values have an understandable form. For more information
on SAS date and time values, see SAS Language Reference: Dictionary.
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. ![[cautend]](../common/images/cautend.gif)
- CAUTION:
- The ORDER= option does not calculate
midpoint values; as a result it is not interchangeable with the MIDPOINTS=
option in the GCHART procedure.
![[cautend]](../common/images/cautend.gif)
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.
-
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.
-
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.
-
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. ![[cautend]](../common/images/cautend.gif)
-
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
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.
-
WIDTH=thickness-factor
-
specifies the thickness of the axis line.
Thickness increases directly with the value of thickness-factor.
By default, WIDTH=1.
Text description suboptions
are used by the LABEL= and VALUE= options to change the color, height, justification,
font, and angle of either default text or specified text strings. See LABEL=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.
-
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:
-
the CTEXT= option for the
procedure
-
the CTEXT= option in a GOPTIONS statement
-
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:
-
the FTEXT= option in a GOPTIONS statement
-
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:
-
the HTEXT= option in a GOPTIONS statement
-
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
Specify additional
suboptions before any string.
-
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.
-
TICK=n
T=n
-
specifies the nth major tick
mark value. TICK= is used only with VALUE= to designate the tick mark value
whose text and appearance you want to modify. For example, this option changes
the color of only the third tick mark value and leaves all others unchanged:
value=(tick=3 color=red)
Suboptions that precede TICK= affect all
the major tick mark values. Suboptions that follow TICK= affect
only the specified value. For example, this option makes all the major tick
mark values 4 units high and colors all of them blue except for the third
one, which is red:
value=(height=4 color=blue tick=3 color=red)
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 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:
-
the COLOR= option in the AXIS
statement
-
the CAXIS= option for the procedure
-
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.
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;
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:
Some types of axes
cannot use certain AXIS statement options:
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.