Previous Page | Next Page

The GBARLINE Procedure

BAR Statement


Creates vertical bar charts in which the height of the bars represents the value of the bar statistic for each category of data.
Requirements: One bar variable is required.
Global statements: AXIS, FOOTNOTE, PATTERN, TITLE
Supports: Drill-down functionality
Restriction: Not supported by Java and Javaimg


Description

The BAR statement specifies the variable that defines the categories of data to chart. This statement automatically performs the following operations:

You can use statement options to select or order the midpoints (bars), to control the tick marks on the response axis, to change the type of chart statistic, to display specific statistics, and to modify the appearance of the chart. You can also specify additional variables by which to subgroup or sum the data.

Bar charts support subgroups, which subdivide the bars into segments based on the values of a subgroup variable.

In addition, you can do the following actions:


Syntax

BARchart-variable </option(s)>;

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


Required Arguments

chart-variable

specifies the variable that defines the categories of data to chart. The variable must be in the input data set.

See also: About the Chart Variable

Options

Options in the BAR statement affect all graphs that are produced by that statement. You can specify as many options as you want and list them in any order. For details on specifying colors, see SAS/GRAPH Colors and Images. For details on specifying images, see Specifying Images in SAS/GRAPH Programs. For a complete description of the graphics options, see Graphics Options and Device Parameters Dictionary.

ANNOTATE=Annotate-data-set

specifies a data set to annotate charts produced by the BAR statement.

Alias: ANNO=
See also: Using Annotate Data Sets
ASCENDING

arranges the bars in ascending order of the value of the bar statistic. By default, bars are arranged in ascending order of midpoint value, without regard to the lengths of the bars. ASCENDING reorders the bars from shortest to longest. The ordering is left to right.

ASCENDING overrides any midpoint order specified in the MIDPOINTS= option or specified in the ORDER= option in an AXIS statement assigned to the midpoint axis.

AUTOREF

draws a reference line at each major tick mark on the bar (left) response axis. To draw reference lines at specific points on the response axis, use the REF= option.

By default, reference lines are drawn in front of the bars. To draw reference lines behind the bars, use the CLIPREF option.

AXIS=AXIS<1...99>

See RAXIS=.

CAUTOREF=reference-line-color

specifies the color of reference lines drawn at major tick marks, as determined by the AUTOREF option. If you do not specify the CAUTOREF option, the default color is the value of the CAXIS= option. If neither option is specified, the default color is retrieved from the current style or from the device's color list if the NOGSTYLE system option is specified. To specify a line type for these reference lines, use the LAUTOREF= option.

Style reference: Color attribute of the GraphGridLines element.
CAXIS=axis-color

specifies a color for the response and midpoint axis lines and for the default axis area frame. If you omit the CAXIS option, the default color is defined by the current style or is the first color in the color list if the NOGSTYLE option is specified.

Style reference: Color attribute of the GraphAxisLines element.
CERROR=error-bar-color

specifies the color of error bars. The default color is the color of the response axis, which is controlled by the CAXIS= option.

Style reference: Color attribute of the GraphError element.
CFRAME=background-color

specifies the color with which to fill the axis area.

The axis area color does not affect the frame color, which is always the same as the midpoint axis line color and controlled by the CAXIS= option. By default, the axis area is not filled.

The CFRAME= option is overridden by the NOFRAME option.

Note:   If the background color, the bar color, and the outline color are the same, then you cannot distinguish the bars.

If the specified style contains an embedded image, the image is drawn instead of the specified CFRAME color.  [cautionend]

Style reference: Color attribute of the GraphWalls element.
CFREQ

displays the cumulative frequency statistic above the bars. A maximum of two statistics can be printed if the INSIDE= option is also used. This option is ignored if the bars are too narrow to avoid overlapping values or if the FREQ option is specified.

See also: About Chart Statistics and Displaying Statistics In Bar-Line Charts
CLIPREF

clips the reference lines at the bars. Using this option makes the reference lines appear to be behind the bars.

CLM=confidence-level

specifies the confidence intervals to use when drawing error bars. Values for confidence-level must be greater than or equal to 50 and strictly less than 100. The default is 95. See ERRORBAR= for details on how error bars are computed and drawn.

COUTLINE=bar-outline-color | SAME

outlines all bars or bar segments and legend values in the subgroup legend (if it appears) using the specified color. SAME specifies that the outline color of a bar or a bar segment or a legend value is the same as the interior pattern color.

The default outline color depends in the PATTERN statement:

  • If you do not specify a PATTERN statement, the default outline color is the color of the current style.

  • If you specify the NOGSTYLE system option and no PATTERN statement, the default outline color is black for the ActiveX device. Otherwise, the default outline color is the foreground color. If you specify an empty PATTERN statement, then the default outline color is the same as the fill color.

Style reference: Color attribute of the GraphOutlines element.
See also: Controlling Patterns, Outlines, Colors, and Images
CPERCENT
CPCT

displays the cumulative percentage statistic above the bars. A maximum of two statistics can be printed using the INSIDE= option for the second statistic. This option is ignored if the bars are too narrow to avoid overlapping values or if the FREQ, CFREQ, or PERCENT option is specified.

See also: About Chart Statistics and Displaying Statistics In Bar-Line Charts
CREF=reference-line-color|(reference-line-color)|reference-line-color-list

specifies colors for reference lines. Specifying a single color without parentheses applies that color to all reference lines, including lines drawn with the AUTOREF and REF= options. The CAUTOREF= option overrides the CREF= reference line color for reference lines drawn with the AUTOREF option. Specifying a single color in parentheses applies that color only to the first reference line drawn with the REF= option. Specifying a reference color list applies colors in sequence to successive lines drawn with the REF= option. The syntax of the color list is of the form (color1 color2 ...colorN) or (color1, color2 ..., colorN). If you do not specify the CREF= option, the GBARLINE procedure uses the color specified by the CAXIS= option. If neither option is specified, the default color is retrieved from the current style or from the first color in the color list if the NOGSTYLE system option is specified. To specify line types for these reference lines, use the LREF= option.

Style reference: LineStyle attribute of the GraphGridLines element.
CTEXT=text-color

specifies a color for all text on the axes and legend, including axis labels, tick mark values, legend labels, and legend value descriptions. The GBARLINE procedure looks for the text color in the following order:

  1. colors specified for labels and values on assigned AXIS and LEGEND statements, which override the CTEXT= option specified in the BAR statement

  2. the color specified by the CTEXT= option in the BAR statement

  3. the color specified by the CTEXT= option in a GOPTIONS statement.

  4. the color specified in the current style or, if the NOGSTYLE system option is specified, black for the ActiveX device and the first color in the color list for all other devices.

The LEGEND statement's VALUE= color is used for legend values, and its LABEL= color is used for legend labels.

The AXIS statement's VALUE= color is used for axis values, and its LABEL= color is used for axis labels. However, if the AXIS statement specifies only general axis colors with its COLOR= option, then the CTEXT= color overrides the AXIS statement's COLOR= specification, and the CTEXT= color is used for axis labels and values. The AXIS statement's COLOR= color is still used for all other axis elements, such as tick marks.

Note:   If you use a BY statement in the procedure, the color of the BY variable labels is controlled by the CBY= option in the GOPTIONS statement.  [cautionend]

Style reference: GraphLabelText, GraphValueText
DESCENDING

arranges the bars in descending order of the value of the chart statistic. By default, bars are arranged in ascending order of midpoint value, without regard to the lengths of the bars. DESCENDING reorders the bars from longest to shortest. The ordering is left to right.

DESCENDING overrides any midpoint order that is specified with the MIDPOINTS= option or that is specified in the ORDER= option in an AXIS statement assigned to the midpoint axis.

DESCRIPTION='entry-description'

specifies the description of the catalog entry for the chart. The maximum length for the entry-description is 256 characters. The description does not appear on the chart. By default, the GBARLINE procedure assigns a description of the form BAR CHART OF variable, where variable is the name of the chart variable.

The entry-description can include the #BYLINE, #BYVAL, and #BYVAR substitution options, which work as they do when used on TITLE, FOOTNOTE, and NOTE statements. Refer to Substituting BY Line Values in a Text String. The 256-character limit rule is applied before the substitution takes place for these options. Thus, if, in the SAS program, the entry-description text exceeds 256 characters, it is truncated to 256 characters first, and then the substitution is performed.

The descriptive text is shown in each of the following:

  • the description portion of the Results window

  • the catalog entry properties that you can view from the Explorer window

  • the Description field of the PROC GREPLAY window

  • the data tip text for web output (depending on the device driver you are using).

DISCRETE

treats a numeric chart variable as a discrete variable rather than as a continuous variable. The GBARLINE procedure creates a separate midpoint and, hence, a separate bar for each unique value of the chart variable. If the chart variable has a format associated with it, then each formatted value is treated as a midpoint.

The LEVELS= option is ignored when you use DISCRETE. The MIDPOINTS= option overrides DISCRETE. The ORDER= option in an AXIS statement that is assigned to the midpoint axis can rearrange or exclude discrete midpoint values.

ERRORBAR=BARS | BOTH | TOP

draws confidence intervals for either of the following:

  • the mean of the SUMVAR= variable for each midpoint if you specify TYPE=MEAN

  • the percentage of observations assigned to each midpoint if you specify TYPE=PCT with no SUMVAR= option.

The ERRORBAR= option cannot be used with values of the TYPE= option other than MEAN or PCT. Valid values for ERRORBAR= are:
BARS

draws error bars as bars half the width of the main bars.

BOTH

draws error bars as two ticks joined by a line (default).

TOP

draws the error bar as a tick for the upper confidence limit that is joined to the top of the bar by a line.

By default, ERRORBAR= uses a confidence level of 95 percent. You can specify different confidence levels with the CLM= option.

When you use ERRORBAR= with TYPE=PCT, the confidence interval is based on a normal approximation. Let TOTAL be the total number of observations, and PCT be the percentage assigned to a given midpoint. The standard error of the percentage is approximated as follows:

APSTDERR=100 * SQRT((PCT/100) * (1-(PCT/100)) / TOTAL);

Let LEVEL be the confidence level specified using the CLM= option, with a default value of 95. The upper confidence limit for the percentage is computed as follows:

UCLP = PCT + APSTDERR * PROBIT( 1-(1-LEVEL/100)/2 );

The lower confidence limit for the percentage is computed as follows:

LCLP = PCT - APSTDERR * PROBIT( 1-(1-LEVEL/100)/2 );

When you use ERRORBAR= with TYPE=MEAN, the sum variable must have at least two non-missing values for each midpoint. Let N be the number of observations assigned to a midpoint, MEAN be the mean of those observations, and STD be the standard deviation of the observations. The standard error of the mean is computed as follows:

STDERR = STD / SQRT(N);

Let LEVEL be the confidence level specified using the CLM= option, with a default value of 95. The upper confidence limit for the mean is computed as follows:

UCLM = MEAN + STDERR * TINV( 1-(1-LEVEL/100)/2, N-1);
The lower confidence limit for the mean is computed as follows:
LCLM = MEAN - STDERR * TINV( 1-(1-LEVEL/100)/2, N-1);

If you want the error bars to represent a given number, C, of standard errors instead of a confidence interval, and if the number of observations assigned to each midpoint is the same, then you can find the appropriate value for the CLM= option by running a DATA step. For example, if you want error bars that represent one standard error (C=1) with a sample size of N, then you can run the following DATA step to compute the appropriate value for the CLM= option and assign that value to a macro variable &LEVEL:

data null;
c = 1;
n = 10;
level = 100 * (1 - 2 * (1 - probt( c, n-1)));
put all;
call symput("level",put(level,best12.));
run;
Then, when you run the GBARLINE procedure, you can specify CLM=&LEVEL.

Note that this method does not work precisely if different midpoints have different numbers of observations. However, choosing an average value for N can yield sufficiently accurate results for graphical purposes if the sample sizes are large or do not vary much.

FRAME | NOFRAME

specifies whether the axis area frame is drawn. The default is FRAME, which draws a frame around the axis area. Specifying NOFRAME removes the axis area frame, including any background color or image. To remove one or more axis elements, use either the AXIS statement or the NOAXIS option.

The NOFRAME option overrides the CFRAME= option and the IBACK= graphics option.

The color of the frame or backplane outline is the color of the midpoint axis, which is determined by the CAXIS= option.

FREQ

displays the frequency statistic above the bars. Non-integer values are rounded down to the nearest integer. A maximum of two statistics can be printed using the INSIDE= option for the second. This option is ignored if the bars are too narrow to avoid overlapping values. This option overrides the CFREQ, PERCENT, CPERCENT, SUM, and MEAN options.

See also: About Chart Statistics and Displaying Statistics In Bar-Line Charts
FREQ=numeric-variable

specifies a variable whose values weight the contribution of each observation in the computation of the chart statistic. Each observation is counted the number of times that is specified by the value of numeric-variable for that observation. If the value of numeric-variable is missing, zero, or negative, then the observation is not used in the statistic calculation. Non-integer values of numeric-variable are truncated to integers. The FREQ= option is valid with all chart statistics.

Because you cannot use TYPE=PERCENT, TYPE=CPERCENT, TYPE=FREQ, or TYPE=CFREQ with the SUMVAR= option, you must use the FREQ= option to calculate percentages, cumulative percentages, frequencies, or cumulative frequencies based on a sum.

The statistics are affected by applying a format to numeric-variable.

Restriction: Not supported by Java and ActiveX
See also: Calculating Weighted Statistics
HTML=variable

identifies the variable in the input data set whose values create links in the HTML file created by the ODS statement. These links are associated with the bars and point to the data or graph you want to display when the user drills down on the bar.

Featured in: Specifying Subgroups, Multiple Plots, Data Tips, and Drill-Down URLs
See also: Data Tips for Web Presentations and Adding Links with the HTML= and HTML_LEGEND= Options.
HTML_LEGEND=variable

identifies the variable in the input data set whose values create links in the HTML file that is created by the ODS statement. These links are associated with a legend value and point to the data or graph that you want to display when the user drills down on the value. The values of variable can be up to 1024 characters long. Characters after the 1024-character limit (including any closing quotes) are truncated.

Restriction: Not supported by ActiveX
See also: Data Tips for Web Presentations and Adding Links with the HTML= and HTML_LEGEND= Options.
INSIDE=statistic

displays the values of the specified statistic inside the bars. Statistic can be one of the following:

  • FREQ

  • CFREQ

  • PERCENT | PCT

  • CPERCENT | CPCT

  • SUM

  • MEAN

To display statistics with INSIDE=SUM or INSIDE=MEAN, you must also specify the SUMVAR= option.
See also: About Chart Statistics and Displaying Statistics In Bar-Line Charts
LAUTOREF=reference-line-type

specifies the line type for reference lines at major tick marks, as determined by the AUTOREF option. Line types are specified as whole numbers from 1 to 46, with 1 representing a solid line and the other values representing dashed lines. The default line type is retrieved from the current style, or if the NOGSTYLE system option is specified, the default value is 1, which draws a solid line. To specify a color for these reference lines, use the CAUTOREF= option.

Style reference: LineStyle attribute of the GraphGridLines element.
LEGEND=LEGEND<1...99>

Assigns the specified LEGEND definition to the plot part of the graph. LEGEND= is ignored if the specified LEGEND definition is not in effect. When you specify the LEGEND option, the BAR statement generates a legend even if the SUBGROUP= option is not specified. This output differs from the output generated by the GCHART procedure where the SUBGROUP option creates a legend by default. In this case, only one bar is represented in the legend.

To create a legend based on the chart midpoints instead of the subgroups, use the chart variable as the subgroup variable:

bar city / subgroup=city;

You can specify both a BAR and PLOT legend on the same graph. If LEGEND= is specified for both the BAR and the POSITION= options on the LEGEND statements are the same location, a single combined legend will be drawn. However, ActiveX output will display separate but adjacent legends.

The ActiveX device does not support all LEGEND statement options. See LEGEND Statement for more information.

Featured in: Grouping and Subgrouping a Block Chart
Restriction: Partially supported by ActiveX
See also: SUBGROUP= and LEGEND Statement
LEVELS=number-of-midpoints | ALL

specifies the number of midpoints for the numeric chart variable. The range for each midpoint is calculated automatically using the algorithm described in Terrell and Scott (1985). If your data contains a large number of unique midpoint values (over 200), then you can use the XPIXELS and YPIXELS GOPTIONS to allow the device driver to render a larger (and more readable) graph. The LEVELS= option is ignored if any of these statements are true:

  • The chart variable is character type.

  • The DISCRETE option is used.

  • The MIDPOINTS= option is used.

LREF=reference-line-type|( reference-line-type|reference-line-type-list)

specifies line types for reference lines. Line types are specified as whole numbers from 1 to 46, with 1 representing a solid line and the other values representing dashed lines. Specifying a line type without parentheses applies that type to all reference lines drawn with the AUTOREF and REF= options. Note that the LAUTOREF= option overrides LREF=reference-line-type for reference lines drawn with the AUTOREF option. Specifying a single line type in parentheses applies that line type to the first reference line drawn with the REF= option. Specifying a line type list applies line types in sequence to successive reference lines drawn with the REF= option. The syntax of the line-type list is of the form (type1 type2 ...typeN). If you do not specify the LREF= option, the GBARLINE procedure uses the type specified by the AXIS statement's STYLE= option. If neither option is specified, the default line type is retrieved from the current style. If the NOGSTYLE system option is specified, the default value is 1, which draws a solid line. To specify colors for these reference lines, use the CREF= option.

Style reference: GraphReference
MAXIS=AXIS<1...99>

assigns the specified AXIS definition to the midpoint axis. The MAXIS= option is ignored if the specified AXIS definition does not exist.

See also: AXIS Statement and About Midpoints
MEAN

displays the mean statistic above the bars. A maximum of two statistics can be printed using the INSIDE= option for the second. This option is ignored if the bars are too narrow to avoid overlapping values or if the FREQ, CFREQ, PERCENT, CPERCENT, or SUM option is specified. MEAN is ignored unless you also use the SUMVAR= option.

See also: About Chart Statistics and Displaying Statistics In Bar-Line Charts
MIDPOINTS=value-list

specifies the midpoint values for the bars. The way you specify value-list depends on the type of the bar variable.

  • For numeric chart 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:

    n <...n>

    n TO n <BY increment>

    n<...n> TO n <BY increment> <n <...n>>

    If a numeric chart variable has an associated format, the specified values must be the unformatted values.

    If you omit the DISCRETE option, then by default these statements are true:

    • Numeric variable values are treated as continuous.

    • The lowest midpoint consolidates all data points from negative infinity to the average of the first two midpoints.

    • The highest midpoint consolidates all data points from the average of the last two midpoints up to infinity.

    • All other values in value-list specify the median of a range of values, and the GBARLINE procedure calculates the midpoint values.

    If you include the DISCRETE option, then each value in value-list specifies a unique numeric value.

  • For character bar variables, value-list is a list of unique character values enclosed in quotation marks and separated by blanks:

    'value-1' <...'value-n'>

    If a character variable has an associated format, the specified values must be the formatted values.

For a complete description of value-list, see the ORDER= option in the AXIS statement.

If the value-list for either type of variable specifies so many midpoints that the axis values overwrite each other, then the values might be unreadable. In this case the procedure writes a warning to the SAS log. On many devices, this problem can be corrected by either adjusting the size of the text with the HTEXT= graphics option or by increasing the number of cells in your graphics display using the HPOS= and VPOS= graphics options.

The ORDER= option in the AXIS statement overrides the order specified in the MIDPOINTS= option. The BAR statement options ASCENDING and DESCENDING also override both the MIDPOINTS= and ORDER= options in the AXIS statement.

See also: About Midpoints
MIDPOINTS=OLD

generates default midpoints using the Nelder algorithm (Applied Statistics 25:94-7, 1976). The MIDPOINTS=OLD option is ignored unless the chart variable is numeric.

MINOR=number-of-minor-ticks

specifies the number of minor tick marks between each major tick mark on the bar response axis.

The MINOR= option in a bar chart statement overrides the MINOR= option in an AXIS definition assigned to the response axis with the RAXIS= option.

MISSING

accepts a missing value as a valid midpoint for the chart variable. By default, observations with missing values are ignored.

NAME='entry-name'

specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created. The name can be up to 256 characters long, but the GRSEG name is truncated to eight characters. Uppercase characters are converted to lowercase, and periods are converted to underscores. The default name is gbarline. If the name duplicates an existing name, then SAS/GRAPH adds a number to the name to create a unique name--for example, gbarline1.

See also: About Filename Indexing
NOAXIS

suppresses the left BAR response axis and displays the midpoint and right PLOT axes. The axis lines, axis labels, axis values, and all major and minor tick marks are suppressed on the left axis. If you specify an axis definition with the MAXIS= or RAXIS= options, then the axes are generated as defined in the AXIS statement, but all lines, labels, values, and tick marks are suppressed. Therefore, AXIS statement options such as ORDER=, LENGTH=, and OFFSET= are used.

To remove only selected axis elements such as lines, values, or labels, use specific AXIS statement option. If NOAXIS is specified for both the BAR and PLOT statements, both response axes and the midpoint axis are suppressed.

NOAXIS does not suppress either the default frame or an axis area fill requested by the CFRAME= option. To remove the axis frame, use the NOFRAME option in the procedure.

NOBASEREF

suppresses the zero reference line when the SUM or MEAN bar statistic has negative values.

NOLEGEND

suppresses the legend generated by the LEGEND= option.

NOZERO

suppresses any midpoints for which there are no corresponding values of the chart variable and, hence, no bar.

Note:   If you assign bar label names to each bar with the VALUE= option in an AXIS statement, and a bar is omitted from your graph, then the label names might be inadvertantly shifted and assigned to the wrong bar.  [cautionend]

OUTSIDE=statistic

displays the values of the specified statistic above the bars. Statistic can be one of the following:

  • FREQ

  • CFREQ

  • PERCENT | PCT

  • CPERCENT | CPCT

  • SUM

  • MEAN.

To display statistics with OUTSIDE=SUM or OUTSIDE=MEAN, you must also specify the SUMVAR= option. A second statistic can be displayed by also using the INSIDE= option.
See also: About Chart Statistics and Displaying Statistics In Bar-Line Charts
PATTERNID=BY | MIDPOINT | SUBGROUP

specifies the way fill patterns are assigned. By default, all of the bars are the same color. Values for PATTERNID= are as follows:

BY

changes patterns each time the value of the BY variable changes. All bars use the same pattern if the GBARLINE procedure does not include a BY statement.

MIDPOINT

changes patterns every time the midpoint value changes.

SUBGROUP

changes patterns every time the value of the subgroup variable changes. The bars must be subdivided by the SUBGROUP= option for the SUBGROUP value to have an effect. Without the SUBGROUP= option, all bars have the same pattern.

PERCENT

displays the percentages of observations having a given value for the bar variable above the bars. A maximum of two statistics can be printed using the INSIDE= option for the second. This option is ignored if the bars are too narrow to avoid overlapping values or if the FREQ or CFREQ option is specified.

See also: About Chart Statistics and Displaying Statistics In Bar-Line Charts
RANGE

displays on the axis of the chart the range of numeric values represented by each bar. In the graphics output, the less-than symbol (<) and the less-than-or-equal-to symbol (<=) are used to accurately specify the starting and ending values of each range. The RANGE option has no affect on axes that represent character data. By default, the values shown on the axis are determined by the value of the MIDPOINTS= option. If specified, the DISCRETE option overrides the RANGE option.

RAXIS=value-list | AXIS<1...99>
AXIS=value-list | AXIS<1...99>

specifies values for the major tick mark divisions on the response axis or assigns the specified AXIS definition to the axis. See the MIDPOINTS= option for a description of value-list. By default, the GBARLINE procedure scales the response axis automatically and provides an appropriate number of tick marks. The left response axis applies to the BAR statement when a PLOT statement is used. Otherwise, both the left and right axes apply to the BAR statement.

You can specify negative values, but negative values are reasonable only when TYPE=SUM or TYPE=MEAN and one or more of the sums or means are less than zero. Frequency and percentage values are never less than zero.

For lists of values, a separate major tick mark is created for each individual value. A warning message is written to the SAS log if the values are not evenly spaced.

If the values represented by the bars are larger than the highest tick mark value, then the bars are truncated at the highest tick mark.

See also: AXIS Statement
REF=value-list

draws reference lines at the specified points on the chart response axis. See the MIDPOINTS= option for a description of value-list.

Values can be listed in any order, but should be within the range of values represented by the chart response axis. A warning is written to the SAS log if any of the points are off of the axis, and no reference line is drawn for such points. You can use the AUTOREF option to draw reference lines automatically at all of the major tick marks.

SPACE=bar-spacing

specifies the amount of space between individual bars along the midpoint axis. Bar-spacing can be any non-negative number, including decimal values. Units are character cells. By default, the GBARLINE procedure calculates spacing based on the size of the axis area and the number of bars on the chart. Use SPACE=0 to leave no space between adjacent bars.

The SPACE= option is ignored if its value results in a chart that is too large to fit in the space available for the midpoint axis. As a result, a warning message is issued in the log.

SUBGROUP=subgroup-variable

divides the bars into segments according to the values of subgroup-variable. Subgroup-variable can be either character or numeric and is always treated as a discrete variable. SUBGROUP= creates a separate segment within each bar for every unique value of the subgroup variable for that midpoint.

When you specify the LEGEND option, the BAR statement generates a legend even if the SUBGROUP= option is not specified. This output differs from the output generated by the GCHART procedure where the SUBGROUP option automatically creates a legend by default. In this case, only one bar is represented in the legend. To assign a LEGEND definition, use the LEGEND= option.

Featured in: Specifying Subgroups, Multiple Plots, Data Tips, and Drill-Down URLs
See also: LEGEND Statement
SUM

displays the sum statistic above the bars. A maximum of two statistics can be printed using the INSIDE= option for the second. This option is ignored if the bars are too narrow to avoid overlapping values or if the FREQ, CFREQ, PERCENT, or CPERCENT option is specified. SUM is ignored unless you also use the SUMVAR= option.

See also: About Chart Statistics and Displaying Statistics In Bar-Line Charts
SUMVAR=summary-variable

specifies a numeric variable for sum or mean calculations. The GBARLINE procedure calculates the sum or, if requested, the mean of summary-variable for each midpoint. The resulting statistics are represented by the length of the bars along the response axis, and they are displayed at major tick marks.

When you use the SUMVAR= option, the TYPE= option must be either SUM or MEAN. With the SUMVAR= option, the default is TYPE=SUM.

Featured in: Producing a Basic Bar-Line Chart
TYPE=statistic

specifies the chart statistic.

  • If the SUMVAR= option is not used, statistic can be one of the following:

    FREQ

    frequency (default)

    CFREQ

    cumulative frequency

    PERCENT

    percentage

    CPERCENT

    cumulative percentage

  • If the SUMVAR= option is used, statistic can be:

    SUM

    sum (default)

    MEAN

    mean

Because you cannot use TYPE=FREQ, TYPE=CFREQ, TYPE=PERCENT, or TYPE=CPERCENT with the SUMVAR= option, you must use the FREQ= option to calculate percentages, cumulative percentages, frequencies, or cumulative frequencies based on a sum. See also Calculating Weighted Statistics.

See also: About Chart Statistics for a complete description of statistic types
WAUTOREF=reference-line-width

specifies the line width for reference lines at major tick marks, as determined by the AUTOREF option. Line widths are specified as whole numbers. The default line width is specified by the current style or by the AXIS statement's WIDTH= option. (By default, WIDTH=1.) To specify a color for these reference lines, use the CAUTOREF= option.

WIDTH=bar-width

specifies the width of the bars. By default, the GBARLINE procedure selects a bar width that accommodates the midpoint values displayed on the midpoint axis using a hardware font and a height of one cell. Units for bar-width are character cells. The value for bar-width must be greater than zero, but it does not have to be an integer, for example:

bar site / width=1.5;

If the requested bar width results in a chart that is too large to fit in the space available for the midpoint axis, then the procedure issues a warning in the SAS log and ignores the WIDTH= specification. If the specified width is too narrow, the procedure might display the midpoint values vertically.

WOUTLINE=bar-outline-width

specifies the width of the bar outline in pixels. WOUTLINE= affects both the slice and the subgroup outlines.

Style reference: LineThickness attribute of the GraphOutlines element.
WREF=reference-line-width|( reference-line-width|reference-line-width-list)

specifies line widths for reference lines. Line widths are specified as whole numbers. Specifying a line width without parentheses applies that type to all reference lines drawn with the AUTOREF and REF= options. Note that the WAUTOREF= option overrides WREF=reference-line-width for reference lines drawn with the AUTOREF option. Specifying a single line width in parentheses applies that line width to the first reference line drawn with the REF= option. Specifying a line width list applies line widths in sequence to successive reference lines drawn with the REF= option. The syntax of the line-width list is of the form (width1 width2 ...widthN). The default line width is specified by the current style or by the AXIS statement's WIDTH= option. (By default, WIDTH=1.) To specify colors for these reference lines, use the CREF= option.

Style reference: LineThickness attribute of the GraphReference element.

The Chart Statistic and the Response Axis

In bar-line charts, the scale of values of the chart statistic is displayed on the left response axis. By default, the response axis is divided into evenly spaced intervals identified with major tick marks that are labeled with the corresponding statistic value. Minor tick marks are evenly distributed between the major tick marks unless a log axis has been requested. For sum and mean statistics, the major tick marks are labeled with values of the SUMVAR= variable (formatted if the variable has an associated format). The response axis is also labeled with the statistic type.


Specifying Logarithmic Axes

Logarithmic axes can be specified with the AXIS statement.

See SAS/GRAPH Statements for a complete discussion.


Displaying Statistics In Bar-Line Charts

Statistic values on bar-line charts are not printed by default, so you must explicitly request a statistic with the FREQ, CFREQ, PERCENT, CPERCENT, SUM, MEAN, INSIDE=, or OUTSIDE= option.

For graphs generated with the ActiveX device, you can display one statistic for each bar. For graphs generated with other devices, you can display up to two statistics for each bar. Statistics can be displayed either above the bars or inside the bars.

To specify a statistic that you want to display above the bars, specify the statistic option (FREQ, CFREQ, PERCENT, CPERCENT, SUM, or MEAN) or specify OUTSIDE=statistic. To specify a statistic that you want to display inside the bars, specify INSIDE=statistic.

For graphs generated with the ActiveX device, the OUTSIDE= option overrides INSIDE=, and INSIDE= overrides the FREQ, CFREQ, PERCENT, CPERCENT, SUM, and MEAN options. For graphs generated with other devices, the individual statistic options override the OUTSIDE= option.

If more than one statistic option is specified, only the highest priority statistic is displayed. The priority order, from highest to lowest, is as follows:

  1. FREQ

  2. CFREQ

  3. PERCENT

  4. CPERCENT

  5. SUM

  6. MEAN

The bars must be wide enough to accommodate the text. You can adjust the width of the bars with the WIDTH= option. To control the font and size of the text, use the HTEXT= and FTEXT= graphics options.


Ordering and Selecting Midpoints

To rearrange character or discrete numeric midpoint values or to select ranges for numeric values, use the MIDPOINTS= option. Changing the number of midpoints for numeric variables changes the range of values for individual midpoints, but it does not change the range of values for the chart as a whole. For details, see About Midpoints.

Like the MIDPOINTS= option, the ORDER= option in the AXIS statement can rearrange the order of the midpoints or suppress the display of discrete numeric or character values. However, the ORDER= option cannot calculate the midpoints for a continuous numeric variable, nor can it exclude values from the calculations. For details, see the description of the ORDER= option.

Previous Page | Next Page | Top of Page