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.
Restriction: Not supported by JAVA and JAVAIMG
Requirement: One bar variable is required.
Global statements: AXIS , FOOTNOTE, LEGEND, PATTERN, TITLE
Supports: Drill-down functionality

Syntax

BAR chart-variable </option(s)>;

Summary of Optional Arguments

Appearance options
specifies a data set to annotate all graphs that are produced by the GBARLINE procedure.
specifies the color of reference lines drawn at major tick marks, as determined by the AUTOREF option.
specifies a color for the response and midpoint axis lines and for the default axis area frame.
specifies the color of error bars.
specifies the color with which to fill the axis area.
outlines all bars or bar segments and legend values in the subgroup legend (if it appears) using the specified color.
specifies colors for reference lines.
specifies a color for all text on the axes and legend.
specifies whether the axis area frame is drawn.
specifies the line type for reference lines at major tick marks, as determined by the AUTOREF option.
assigns the specified LEGEND definition to the plot part of the graph.
specifies line types for reference lines.
suppresses the legend generated by the LEGEND= option.
specifies how fill patterns are assigned.
specifies the amount of space between individual bars along the midpoint axis.
specifies the line width for reference lines at major tick marks, as determined by the AUTOREF option.
specifies the width of the bars.
specifies the width of the bar outline in pixels.
specifies line widths for reference lines.
Axes options
arranges the bars in ascending order of the value of the bar statistic.
draws a reference line at each major tick mark on the bar (left) response axis.
specifies values for the major tick marks or assigns specified AXIS definitions to the axis.
clips the reference lines at the bars.
arranges the bars in descending order of the value of the chart statistic.
assigns the specified AXIS definition to the midpoint axis.
specifies the number of minor tick marks between each major tick mark on the bar response axis.
suppresses the left BAR response axis and displays the midpoint and right PLOT axes.
suppresses the zero reference line when the SUM or MEAN bar statistic has negative values.
suppresses any midpoints for which there are no corresponding values of the chart variable and, hence, no bar.
displays on the axis of the chart the range of numeric values represented by each bar.
specifies values for the major tick mark divisions on the response axis or assigns the specified AXIS definition to the axis.
draws reference lines at the specified points on the chart response axis.
Catalog entry description options
specifies a description of the output.
specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.
Midpoint options
treats a numeric chart variable as a discrete variable rather than as a continuous variable.
specifies the number of midpoints to be graphed for the chart variable.
generates default midpoints
specifies the midpoint values for the bars
accepts a missing value as a valid midpoint for the chart variable.
divides the bars into segments according to the values of subgroup-variable.
ODS options
identifies the variable in the input data set whose values create links.
identifies the variable in the input data set whose values create links or data tips or both.
specifies a character variable whose values are URLs.
Statistic options
displays the cumulative frequency statistic above the bars.
specifies the confidence intervals to use when drawing error bars.
displays the cumulative percentage statistic above the bars.
draws confidence intervals dependent on the statistic type.
displays the frequency statistic above the bars.
specifies a variable whose values weight the contribution of each observation in the computation of the chart statistic.
displays the values of the specified statistic inside the bars.
displays the mean statistic above the bars.
displays the values of the specified statistic above the bars.
displays the percentages of observations having a given value for the bar variable above the bars.
displays the sum statistic above the bars.
specifies a numeric variable for sum or mean calculations.
specifies the chart statistic.

Required Argument

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

Optional Arguments

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 about specifying colors, see Using Colors in SAS/GRAPH Programs. For details about specifying images, see Adding Images To SAS/GRAPH Output. 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 all graphs that are produced by the GBARLINE procedure. To annotate individual graphs, use the ANNOTATE= option in the BAR statement.
Alias:ANNO=
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>
specifies values for the major tick marks or assigns specified AXIS definitions to the axis.
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.
Alias:CFR=
Style reference:Color attribute of the GraphWalls element
Notes: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.

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

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=BARS | BOTH | TOP for details about 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
CPERCENT
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.
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 requires parentheses and color names separated by spaces (color1 color2 ...colorN) or separated by commas (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.
Alias:CR=
Style reference:LineStyle attribute of the GraphGridLines element
CTEXT=text-color
specifies a color for all text on the axes and legend. This includes 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. However, if the NOGSTYLE system option is specified, then 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. This means that 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.
Alias:CT=
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.
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.
Interaction: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=“description
specifies a description of the output. The maximum length for description is 256 characters. The description does not appear in the output. The descriptive text is shown in each of the following:
  • the chart description for Web output (depending on the device driver). See Chart Descriptions for Web Presentations for more information.
  • the Table of Contents that is generated when you use the CONTENTS= option on an ODS HTML statement, assuming that the output is generated while the contents page is open.
  • the description and the properties for the output in the Results window.
  • the description and properties for the catalog entry in the SAS Explorer.
  • the Description field of the PROC GREPLAY window.
The 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 applies before the substitution takes place for these options. Thus, if in the SAS program the description text exceeds 256 characters, it is truncated to 256 characters, and then the substitution is performed.
Alias:DES=
Default:BAR AND LINE PLOT OF chart-variable
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.
Interactions:The LEVELS=number-of-midpoints option is ignored when you use the DISCRETE option.

The MIDPOINTS= option overrides the DISCRETE option.

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 as follows:
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%. 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 nonmissing values for each midpoint. Let N be the number of observations assigned to a midpoint. Let, 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);
Suppose you want the error bars to represent a given number, C, of standard errors instead of a confidence interval, and the number of observations assigned to each midpoint is the same. You can then find the appropriate value for the CLM= option by running a DATA step. For example, suppose you want error bars that represent one standard error (C=1) with a sample size of N. 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 color of the frame or backplane outline is the color of the midpoint axis, which is determined by the CAXIS= option.
Alias:FR | NOFR
Interaction:The NOFRAME option overrides the CFRAME= option and the IBACK= graphics 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.
Interaction:This option overrides the CFREQ, PERCENT, CPERCENT, SUM, and MEAN options.

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.
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
HTML=variable
identifies the variable in the input data set whose values create links or data tips or both. The variable values are either links or data tips or both that are created in the HTML file generated by the ODS statement. The links are URLs pointing to Web pages to display when the user clicks (drills down) on elements in the graph. Data tips are detailed information or data values that are displayed as pop-up text when a mouse pointer is positioned over elements in the graph.
HTML_LEGEND=variable
identifies the variable in the input data set whose values create links. Input data set variable values create links that are associated with a legend value and point to the URL to display when the user clicks (drills down) on the value.
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
Interaction: To display statistics with INSIDE=SUM or INSIDE=MEAN, you must also specify the SUMVAR= option.

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. 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. The LEGEND= option 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 you specify the same location with the LEGEND= option in the BAR statement and the POSITION= option in the LEGEND statement, a single combined legend is drawn. However, ActiveX output displays separate but adjacent legends.
The ActiveX device does not support all LEGEND statement options. See the LEGEND Statement for more information.
Restriction:Partially supported by ActiveX

LEGEND Statement

LEVELS=number-of-midpoints | ALL
specifies the number of midpoints to be graphed for the chart variable. After you specify the number of midpoints that you want, the range for each numeric midpoint is calculated automatically using the algorithm described in Terrell and Scott (1985). If you specify LEVELS=ALL, then all unique numeric or character midpoint values are graphed. If your data contains a large number of unique midpoint values (more than 200), then you can use the XPIXELS and YPIXELS GOPTIONS. This enables the device driver to render a larger (and more readable) graph. The LEVELS=number-of-midpoints option is ignored if any of the following is 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 requires parentheses and is delimited by spaces (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.
MEAN
displays the mean statistic above the bars. A maximum of two statistics can be printed using the INSIDE= option for the second.
Restriction:This option is ignored if the bars are too narrow to avoid overlapping values.
Interactions:This option is ignored if the FREQ, CFREQ, PERCENT, CPERCENT, or SUM option is specified.

The MEAN option is ignored unless you also use the SUMVAR= option.

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.
    You are able to specify up to 256 characters for each variable value.
For a complete description of value-list, see ORDER=(value-list ) 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 adjusting the size of the text with the HTEXT= graphics option. Or correct the problem by increasing the number of cells that are displayed in your graphics. Do this by 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.
Note:Any character bar variable value with a long text string has the potential to cause a scaling issue and might produce a wider bar chart than desired.
MIDPOINTS=OLD
generates default midpoints using the Nelder algorithm (Applied Statistics 25:94–7, 1976).
Restriction: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.
Interaction: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. An example is gbarline1.
If the name specified is exactly eight characters long, then the last character of the image output filename is replaced with a number. For example, myimages is changed to myimage1.
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. However, 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 optionsF. 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:There might be occasions when you assign bar label names to each bar with the VALUE= option in an AXIS statement and a bar is omitted from your graph. In this case the label names might be inadvertently shifted and assigned to the wrong bar.
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
Interaction: 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.

Displaying Statistics in Bar-Line Charts

PATTERNID=BY | MIDPOINT | SUBGROUP
specifies how 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.
Alias:PCT
Restriction: This option is ignored if the bars are too narrow to avoid overlapping values.
Interaction:The PERCENT option is ignored if the FREQ or CFREQ option is specified.

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 starting value of each range is indicated with the less-than symbol (<).
  • The ending value is indicated with the greater-than-or-equal-to symbol (>=).
  • The default midpoint axis label is “chart-variable 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=value-list.
Interactions: If specified, the option DISCRETE overrides the RANGE option.

During the creation of vertical bar charts, when options RANGE and LEVELS= are both used, RANGE displays the endpoints of the range for each vertical bar. It does this rather than displaying just the numerical midpoint of the range as would be displayed with the LEVELS= option alone. If necessary, RANGE automatically angles or rotates the values and they might be less readable

If the RANGE, LEVELS=, and AXIS VALUE= options are all specified, the RANGE option is ignored and the LEVELS= option displays the numeric midpoint of each vertical bar.

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 MIDPOINTS=value-list 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.
REF=value | (value) | (value-list)
draws reference lines at the specified points on the chart response axis. See MIDPOINTS=value-list 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 nonnegative 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 width of the bars on the chart. Use SPACE=0 to leave no space between adjacent bars.
Restriction: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. The SUBGROUP= option 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.
SUM
displays the sum statistic above the bars. A maximum of two statistics can be printed using the INSIDE= option for the second.
Restriction:This option is ignored if the bars are too narrow to avoid overlapping values.
Interactions:This option is ignored if the FREQ, CFREQ, PERCENT, or CPERCENT option is specified.

The SUM option is ignored unless you also use the SUMVAR= option.

Displaying Statistics in Bar-Line Charts

SUMVAR=numeric-variable
specifies a numeric variable for sum or mean calculations. The GBARLINE procedure calculates the sum or, if requested, the mean of numeric-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.
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 one of the following:
    SUM
    sum (default)
    MEAN
    mean
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. See also Calculating Weighted Statistics.
See:About Chart Statistics for a complete description of statistic types
URL=character-variable
specifies a character variable whose values are URLs. The variable values are URLs for Web pages to display when the user clicks (drills down) on elements in the graph.
Restriction: This option affects graphics output that is created through the ODS HTML destination only
Interaction:If you specify both the HTML= and the URL= options, then the URL= option is ignored

Example: GIF Output with Drill-Down Links

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;
Restrictions:Sometimes the requested bar width results in a chart that is too large to fit in the space available for the midpoint axis. In this case 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 requires parentheses and widths separated by spaces (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

Details

Description

The BAR statement specifies the variable that defines the categories of data to chart. This statement automatically performs the following operations:
  • determines the midpoints
  • calculates the chart statistic for each midpoint (the default is FREQ)
  • scales the response axis and the bars according to the statistic value
  • determines bar width and spacing
  • assigns patterns to the bars (the default bar pattern is SOLID)
  • draws a frame around the axis area using the color defined by the current style or the first color in the color list if the NOGSTYLE system option is specified.
You can use statement options to do the following:
  • select or order the midpoints (bars)
  • control the tick marks on the response axis
  • change the type of chart statistic
  • display specific statistics
  • 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:

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 description.

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. However, 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 option description for ORDER=(value-list) | DESCENDING.