SAS Institute. The Power to Know

FOCUS AREAS

Return to ODS Statistical Graphics

Base SAS

ODS Statistical Graphics (Preproduction) and ODS Styles:
Usage and Reference

This document is for users who wish to learn more about how ODS styles interact with ODS templates of type StatGraph. The contents are organized as follows:

Styles are defined with the TEMPLATE procedure. For more information on style creation and management refer to "TEMPLATE Procedure: Creating a Style Definition" in the SAS Output Delivery System User's Guide.


Overview

ODS styles control the overall look of your output. A style definition provides formatting information for specific visual aspects of your SAS output. This information typically includes

which are associated with common areas of printed output:

Starting with SAS 9, ODS styles also supply graphical appearance information such as line and marker properties in addition to font and color information. This style information is used unless the template that defines the graph provides a statement or option that overrides the style.

You indicate the style to be used on the ODS statement that declares the output destination. For example:

ods html file="myfile.html" style=journal;

If the STYLE= option is not supplied, the understood value is STYLE=DEFAULT. Any SAS-supplied or user-defined style may be used. Of the SAS styles for SAS 9.1, four have been specifically designed for use with ODS statistical graphics: DEFAULT, JOURNAL, ANALYSIS, and STATISTICAL. Examples of these styles are shown below.


STYLE=DEFAULT


STYLE=JOURNAL


STYLE=ANALYSIS


STYLE=STATISTICAL

In these examples, you will note that color and font information is coordinated between tablular and graphical output.

Using styles is easy, you simply provide the name of an existing style. These styles are supplied as part of SAS 9.1:

Analysis Astronomy Banker BarrettsBlue Beige BlockPrint
Brick Brown Curve D3d Default Education
Electronics FancyPrinter Gears Journal Magnify Minimal
Money NoFontDefault Printer RSVP RTF SansPrinter
SASDocPrinter SASWeb Science SerifPrinter Sketch StatDoc
Statistical Theme Torn Watercolor

Mappings between Style Elements and Graphical Features

In order to modify a style, you need to understand which style elements affect ODS statitistical graphs.

Graphical Text

A style provides five elements for defining the properties of text that appear in the graph:

Style Element Portion of Graph Affected
GraphTitleText all EntryTitle statements in the template
GraphFootnoteText all EntryFootnote statements in the template
GraphLabelText all axis labels
GraphValueText all axis values
GraphDataText text associated with data points or line labels

Each of the style elements affecting text has the same set of attributes:

Style Attribute Value
Foreground text color
Font all font characteristics:
face, size, weight, style

Example:

   style GraphFonts
      "Fonts used in graph styles" /
      'GraphTitleFont' = ("Arial",14pt,Bold);

   style GraphColors
      "Abstract colors used in graph styles" /
      'gtext' = cx000000;

   style GraphTitleText from GraphComponent /
      font = GraphFonts('GraphTitleFont')
      foreground = GraphColors('gtext');

Graphical Borders and Lines

A style provides three elements that affect display of commonly used lines:

Style Element Portion of Graph Affected
GraphBorderLines borders for the entire graph and all legends
GraphAxisLines all axis lines.
GraphGridLines all vertical and horizontal grid lines

GraphAxisLines and GraphGridLines support these attributes:

Style Attribute Value
Foreground line color
LineStyle linestyle number
LineThickness dimension

GraphBorderLines uses only Foreground.

Example:

   style GraphGridLines from GraphComponent /
         foreground = GraphColors('ggrid')
         linestyle = 2
         linethickness = 1px;

Graph Size and Fill Colors

These style elements affect graph sizing and common filled areas:

Style Element Portion of Graph Affected
Graph entire graph
GraphBackground area framed by graph border lines
GraphWalls area framed by graph axis lines

The Graph element supports these attributes:

Style Attribute Value
OuputWidth graph width
OutputHeight graph height

The GraphBackground and GraphWalls elements support this attribute:

Style Attribute Value
Background background color

Example:

   style Graph from Output/
         outputwidth = 400px
         outputheight = 350px;

Note: The OutputWidth and OutputHeight attributes do not appear in SAS-supplied styles, but you can add them to the Graph element to control the size of all graphs. The default values are OutputWidth=640px and OutputHeight=480px. To avoid graph distortion, avoid using size values less than 200 pixels.

Graphical Data

There are thirteen style elements that affect the data represented in the graph. A data representation includes such items as

The style element that is used depends on whether your graph is displaying non-grouped or grouped data.

Style Element Portion of Graph Affected
GraphDataDefault non-grouped data (areas, lines, markers)
GraphData1 - 1st data group (area, line, marker)
GraphData12 12th data group (area, line, marker)

The GraphDataDefault element supports these attributes for non-grouped data:

Style Attribute Value
Foreground color of filled area
ContrastColor color of marker or line
MarkerSymbol marker name
LineStyle line number

Similarly, for grouped data there are 12 style elements that correspond to the 1st, 2nd, ..., up to 12th group value. Each of these elements supports the same style attributes as GraphDataDefault. This set of style elements allows you to control the graphical representation (colors, linestyle, marker) for each group value.

Example:

   style GraphData1 /
         markersymbol = "square"
         linestyle = 2
         contrastcolor = GraphColors('gcdata1')
         foreground = GraphColors('gdata1');

Note: SAS supplied styles do not include the MarkerSymbol or LineStyle attributes for the GraphData1 - GraphData12 style elements. The default values for the first 12 MarkerSymbols are Circle, Plus, X, Square, Asterisk, Triangle, Union, Diamond, IBeam, Hex, Home, and Heart. See MarkerSymbol names for all markers available and the complete default set.


Examples

Example 1: Change the text fonts for a style

Although not required, it is best to change the fonts for tablular and graphic output.

   proc template;
      define style Styles.MyDefault;
      parent Styles.Default;
      replace Fonts from Fonts "replace fonts except for graphs" /
              'TitleFont' = ("Arial",16pt,Bold)
              'TitleFont2' = ("Arial",14pt,Bold)
              'headingFont' = ("Arial",12pt,Bold)
              'docFont' =  ("Arial",10pt)
              'StrongFont' = ("Arial",14pt,Bold,Italic)
              'EmphasisFont' = ("Arial",10pt,Italic)
              'headingEmphasisFont' = ("Arial",12pt,Bold Italic);
      replace GraphFonts "replace fonts used in graph" /
              'GraphDataFont' = ("Arial",8pt)
              'GraphValueFont' = ("Arial",10pt)
              'GraphLabelFont' = ("Arial",12pt,Bold)
              'GraphFootnoteFont' = ("Arial",12pt,Bold)
              'GraphTitleFont' = ("Arial",14pt,Bold);
      end;
   run;

Note: In SAS 9.1, your ODS Statistical graph will be static image. If you are creating HTML output, be aware that other people viewing the HTML page, must have the same font(s) installed on their machine to view any tables on the page as you see them. If another user's machine does not have a font referenced in a style, the browser makes a font substitution.

Example 2: Introduce a new list for simplifying line styles

Restrict the list to the keywords used for linepattern in the StatGraph template language. The linepattern value corresponds to the equivalent linestyle value.

   proc template;
      define style Styles.MyDefault;
      parent Styles.Default;
      style LinePatterns  "StatGraph line patterns"/
            'solid' = 1
            'dashshort'= 4
            'dash' = 5
            'dashlong' = 6
            'dotdash' = 15
            'dot' = 34
            'dotthin' = 35
            'dashdot' = 41;
      style StatGraphPredictionLines from GraphComponent /
            foreground = GraphColors('gpredict')
            contrastcolor = GraphColors('gcpredict')
            linestyle = LinePatterns('dotthin')
            linethickness = 3px
            transparency = 0.00;
      end;
   run;

Example 3: Introduce new style elements for a specific plot type (box plot)

   proc template;
      define style Styles.MyDefault;
      parent Styles.Default;
      GraphColors from GraphColors "add colors for box plots" /
                  'gmean'=orange
                  'gmedian'=magenta
                  'gwhisker'=black;
      style box "define appearance of box" /
            foreground=GraphColors('gdata')
            ContrastColor=GraphColors('goutlines')
            LineStyle=LinePattern('solid')
            LineThickness=1px;
      style boxwhisker "define appearance of box whiskers" /
            ContrastColor=graphcolors('gwhisker')
            LineStyle=LinePattern('solid')
            LineThickness=2px;
      style boxmean "define appearance of mean" /
            ContrastColor=graphcolors('gmean')
            MarkerSymbol="diamond";
      style boxmedian "define appearance of median" /
            ContrastColor=graphcolors('gmedian')
            LineStyle=LinePattern('dash')
            LineThickness=2px;
      style boxconnect "define appearance of lines connecting boxes" /
            LineStyle=LinePattern('dot')
            LineThickness=1px;
      end;
   run;

This StatGraph template code uses the "box" style elements:

   proc template;
      define statgraph;
      layout gridded;
      boxplot y=_YVAR x=_XVAR /
              labelfar=on
              notches=off connect=mean
              markers=on
              markersymbol=StatGraphOutlierData:MarkerSymbol
              markersize=StatGraphOutlierData:MarkerSize
              markercolor=StatGraphOutlierData:ContrastColor
              mediansymbol=line capshape=serif
              mediancolor=boxmedian:ContrastColor
              mediansize=boxmedian:Linethickness
              meansymbol=boxmean:MarkerSymbol
              meancolor=boxmean:ContrastColor
              linecolor=boxmean:ContrastColor
              fill=true
              fillcolor=box:foreground
              outlinecolor=box:ContrastColor
              outlinepattern=box:LineStyle
              outlinethickness=box:LineThickness;
      endlayout;
      end;
   run;

Note: When creating or changing a StatGraph template, it is recommended that you map the value of an appearance option (e.g. mediancolor) to style a element/attribute pair (e.g. boxmedian:ContrastColor) rather than "hard-coding" a value (e.g. red). This indirection enables the appearance of the output to change if the style changes without making further changes to your StatGraph template.

Example 4: Change the color gradient that is used

The two images below represent a contour plot that is generated by the KDE procedure.

Contour Using the Supplied Journal Style Contour Using a Modified Style (MyJornal)
The default Journal style maps lower data values to a darker gray and higher data values to a lighter gray. The modified style (MyJournal) maps lower data values to a lighter gray and higher data values to a darker gray.

   proc template;
      define style Styles.MyJournal;
      parent = styles.Journal;
      replace GraphColors "Reversed Start and End color for 3-color ramps" /

              /* These attributes affect ramps for filled areas */
              'gramp3cend' =  cx5F5F5F     /* was cxF0F0F0 */
              'gramp3cneutral' = cxA7A7A7  /* unchanged */
              'gramp3cstart' = cxF0F0F0    /* was cx5F5F5F */

              /* These attributes affect ramps for markers & text*/
              'gconramp3cend' = cx5F5F5F     /* was cxF0F0F0 */
              'gconramp3cneutral' = cxA7A7A7 /* unchanged */
              'gconramp3cstart' = cxF0F0F0   /* was cx5F5F5F */

              /* include remaining GraphColors attributes from parent Journal here */

              ;
      end;
   run;


Style Conventions Used in Supplied Graphical Templates

Many SAS/STAT and SAS/ETS procedures define ODS graphical templates (StatGraph template type). These templates automatically obtain many common appearance properties from the more commonly used style elements such as GraphTitleText or GraphDataDefault as defined in the current style. (See Table 1 in the Reference section.)

In many statistical graphs, there are lines and markers that have special statistical meaning. For example, reference lines, trend lines, model fit lines, lines denoting confidence limits, markers denoting outliers. If the StatGraph template language had statements such as ConfidenceLine or ModelLine, it would be possible to map style elements directly to a line used for a specific purpose and thus provide a consistent presentation. In reality, the StatGraph template provides statements such as LineParm and Series for drawing lines and there is no way to know what the semantic purpose is. For this reason, a number of specialized style elements were created that offer a way to map common statistical constructs such as model line or confidence region to corresponding StatGraph language statements and options. (See Table 2 in the Reference section.)

The main distinction between the style elements in these two tables is as follows.

The following is a list of some of the conventions that the statistical procedures use:

Model Fit Line
a curve or line describing the model fit is displayed with the SERIES or SERIESPLOT statement and includes the following style references as option values:
   linecolor = StatGraphFitLine:contrastcolor
   linethickness = StatGraphFitLine:linethickness
   linepattern = StatGraphFitLine:linestyle
Reference Lines
are displayed with a LINEPARM statement and these options:
   linecolor = GraphReferenceLines:contrastcolor
   linethickness = GraphReferenceLines:linethickness
   linepattern = GraphReferenceLines:linestyle
Confidence Regions
are displayed with the BAND statement. To show a filled confidence region, these options are used:
   fill = true
   lines = false
   fillcolor = StatGraphConfidence:foreground
To show only the lines bounding the region, these options are used:
   fill = false
   lines = true
   linecolor = StatGraphConfidence:contrastcolor
   linethickness = StatGraphConfidence:linethickness
   linepattern = StatGraphConfidence:linestyle
Outliers
may appear in several contexts. This example shows how points representing outliers can be distinguished from other points using two SCATTERPLOT statements in an OVERLAY layout.
   scatterplot y=RResidual x=Robustdis /
               where=(Outlier = 0)
               markersymbol=GraphDataDefault:markersymbol
               markercolor=GraphDataDefault:markercolor
               markersize=GraphDataDefault:markersize;

   scatterplot y=RResidual x=Robustdis /
               where=(Outlier = 1)
               markersymbol=StatGraphOutlier:markersymbol
               markercolor=StatGraphOutlier:markercolor
               markersize=StatGraphOutlier:markersize;

Reference

Table 1: Style Elements and Attributes that Automatically Affect the Appearance of ODS Statistical Graphs

The style elements/attributes below automatically affect the appearance of ODS Statistical Graphs, unless overridden by a StatGraph template language statement or option.

ODS Statistical Graphics: Style Elements (SAS 9.1)
Style Element Affects Parent Element Style Attributes Attribute Values (Default Style)
Graph graph size Output OutputWidth
OutputHeight
640px
480px
GraphBackground background of the graph GraphComponent BackGround Colors(‘docbg’)
GraphWalls wall bounded by axes GraphComponent Background GraphColors(‘gwalls’)
GraphTitleText text font & color for title(s) GraphComponent Font ForeGround GraphFonts(‘GraphTitleFont’)
GraphColors(‘gtext’)
GraphFootnoteText text font & color footnote(s) GraphComponent Font ForeGround GraphFonts(‘GraphFootnoteFont’)
GraphColors(‘gtext’)
GraphLabelText text font & color for axis labels GraphComponent Font ForeGround GraphFonts(‘GraphLabelFont’)
GraphColors(‘ glabel’)
GraphValueText text font & color for axis tick values GraphComponent Font ForeGround GraphFonts(‘GraphValueFont’) GraphColors(‘ gtext’)
GraphDataText text font & color for point / line labels GraphComponent Font ForeGround GraphFonts(‘GraphDataFont’)
GraphColors(‘ gtext’)
GraphBorderLines border around graph GraphComponent ForeGround GraphColors(‘gborderlines’)
GraphGridLines horizontal and vertical grid lines GraphComponent ForeGround
LineStyle
LineThickness
GraphColors(‘ggrid’)
1
1px
GraphAxisLines axis lines GraphComponent ForeGround
LineStyle
LineThickness
GraphColors(‘gaxis’)
1
1px
GraphAxisTickMarks axis tick marks GraphComponent Foreground
TickDisplay
GraphColors(‘gaxis’)
“outside”
ThreeColorRamp contours with continuous response GraphComponent StartColor NeutralColor
EndColor
GraphColors(‘gramp3cstart’)
GraphColors(‘gramp3cneutral’)
GraphColors(‘gramp3cend’)
ThreeColorAltRamp data labels with continuous response GraphComponent StartColor
NeutralColor
EndColor
GraphColors(‘gconramp3cstart’)
GraphColors(‘gconramp3cneutral’)
GraphColors(‘gconramp3cend’)
GraphDataDefault primitives related to non-grouped data items ; foreground applies to filled areas; contrastcolor applies to markers, lines GraphComponent Foreground
ContrastColor
MarkerSymbol
LineStyle
GraphColors(‘gdata’)
GraphColors(‘gcdata’)
“circle”
1
GraphData1 – GraphData12 primitives related to grouped data items foreground applies to filled areas; contrastcolor applies to markers, lines GraphComponent Foreground


ContrastColor


MarkerSymbol
LineStyle
GraphColors(‘gdata1’) - GraphColors(‘gdata12’)

GraphColors(‘gcdata1’) - GraphColors(‘gcdata12’)

Table 1 notes:


Table 2: Style Elements and Attributes that Do Not Affect ODS Statistical Graphics by Default

The style elements/attributes below do not affect ODS Statistical Graphics by default. These elements are provided for use in StatGraph templates for those who wish to provide a consistent way to assign visual properties to graphical components based on their purpose or function without "hardcoding" colors, fonts, etc. in the definition of the graph's template.

To make a style reference in the graph's template code, specify a style-element : attribute for the option value. For example:

   SeriesPlot
   y=Predicted x=Year /
               linecolor=StatGraphPredictionLines:contrastcolor
               linepattern=StatGraphPredictionLines:linestyle
               linethickness=StatGraphPredictionLines:linethickness;

These line options override the defaults and make prediction line appearance style-dependent. The graphical templates supplied with SAS/STAT and SAS/ETS procedures use this technique extensively so that common components of statistical graphs (such as a prediction line) have the same appearance even when generated with different procedures. See Style Conventions Used in Supplied Graphical Templates.

The StatGraph template language notation style-element : attribute can be use to refer to any attribute of any element, not just those listed in the table below. The referenced attribute's type must agree with the StatGraph template language option's type.

ODS Statistical Graphics: Additional Style Elements (SAS 9.1)
Style Element Intent Parent Element Style Attributes Attribute Value
(Default Style)
StatGraphInsetBackground background of an inset GraphComponent Background Transparency GraphColors(‘ginset’)
0.25
StatGraphInsetHeaderBackground background of inset header GraphComponent Background Transparency GraphColors(‘ginsetheader’)
0.25
StatGraphData data for the graph GraphComponent Foreground
ContrastColor
MarkerSymbol
LineStyle MarkerSize
LineThickness
GraphColors(‘gdata’)
GraphColors(‘gcdata’)
“CircleFilled”
1
StatGraphOutlierData outlier data for the graph GraphComponent Foreground
ContrastColor
MarkerSize
MarkerSymbol
Transparency
GraphColors(‘goutlier’)
GraphColors(‘gcoutlier’)
3px
“X”
0.00
GraphReferenceLines divide the graph into regions or describe a trend GraphComponent Foreground
ContrastColor
LineStyle
LineThickness
Transparency
GraphColors(‘greferencelines’)
StatGraphFitLine fit line such as a regression line GraphComponent Foreground
ContrastColor
LineStyle
LineThickness
Transparency
GraphColors(‘gfit’)
GraphColors(‘gcfit’)
1
2px
0.50
StatGraphConfidence confidence lines and bands – foreground for bands; contrastcolor for lines GraphComponent Foreground
ContrastColor
LineStyle
LineThickness
Transparency
GraphColors(‘gconfidence’)
GraphColors(‘gcconfidence’)
34
1px
0.50
StatGraphPredictionLines prediction lines GraphComponent Foreground
ContrastColor
LineStyle
LineThickness
Transparency
GraphColors(‘gpredict’)
GraphColors(‘gcpredict’)
35
3px
0.00
StatGraphPredictionLimit fills for prediction limits GraphComponent Foreground
ContrastColor
Transparency
GraphColors(‘gpredictlim’)
GraphColors(‘gcpredictlim’)
0.00
StatGraphError error line or error bar fill - foreground for lines; contrastcolor for bar fill GraphComponent ForeGround
ContrastColor
LineStyle
LineThickness
Transparency
GraphColors(‘gerror’)
GraphColors(‘gcerror’)
5
1px
0.00

Table 2 note: Items appearing in italics are recognized element/attribute names. They do not appear in any SAS style definition, but can be added to any user-defined style.


Table 3: ODS Graphical Style Attributes

The name and type of all style attributes are fixed by ODS. For a more complete discussion attribute types, see "TEMPLATE Procedure: Creating a Style Definition" in the SAS Output Delivery System User's Guide.

ODS Graphical Style Attributes (SAS 9.1)
Style Attribute Type Affects Example
OutputWidth dimension or % width of graph OutputWidth=400px
OutputHeight dimension or % height of graph OutputHeight=300px
Transparency number:
0.0=opaque
1.0=transparent
graphic background areas Transparency=0.2
Background color background color of the graph, walls, or floor Background= colors(“docbg”)
Background=blue
Foreground color filled areas such as histogram or ellipse Foreground= colors(“docfg”)
Foreground= GraphColors('gdata')
ContrastColor color lines, markers where contrast is needed ContrastColor=GraphColors(‘gcdata’) ContrastColor=cx0F0F0F
LineStyle integer: 1-46 borders, axis lines, grid, reference, model, confidence lines LineStyle=35
LineColor color color of line LineColor=GraphColors("gdata1")
LineColor=blue
LineThickness dimension or % width of line LineThickness=2px
LineThickness=2%
Font Aggregate definition in parentheses all text font attributes Font=(" ‘Courier New’, Courier, monospace", 4, medium, roman)
Font_Face string font family Font_Face=”Courier New”
Font_Size dimension or % font size Font_Size=10pt
Font_Weight string: light, medium, bold font weight Font_Weight=bold
Font_Style string: italic, roman, slant font style Font_Style=italic
StartColor color: initial color used with 3-color ramp contours, gradient legends StartColor=yellow
NeutralColor color: middle color used with 3-color ramp contours, gradient legends NeutralColor=orange
EndColor color: final color used with 3-color ramp contours, gradient legends EndColor=red
MarkerSymbol string (see below) marker used MarkerSymbol=”circle”
MarkerSize dimension or % marker size MarkerSize=5px
MarkerSize=3%
TickDisplay String: "inside" "outside" or "both" all axis tick marks, major and minor TickDisplay = "Inside"
Minor Boolean: On or Off display of minor tick marks on all axes Minor=on
Minor=off
Threshold % axis tick labeling Threshold=30%


Markers

Markers are defined by name. Names are not case-sensitive, but must be enclosed in quotes. For example,

   style StatGraphOutlierData from GraphComponent /
         markersize = 3px
         markersymbol = "X"
         transparency = 0.00
         contrastcolor = GraphColors('gcoutlier')
         foreground = GraphColors('goutlier');

MarkerSymbol Name
Arrow
ArrowBold
ArrowWide
ArrowWideDown
ArrowWideDownFilled
ArrowWideFilled
Aster
AsterBold
Asterisk
AsteriskBold
Circle
CircleArrowWide
Circle ArrowWideDown
Circle ArrowWideDownFilled
Circle ArrowWideFilled
Circle Bold
Circle Filled
Circle Odd
CircleOddFilled
CirclePlus
CircleTriangle
CircleTriangleDown
CircleTriangleDownFilled
CircleTriangleFilled
CircleX
Chain
ChainBold
Cross
CrossFilled
CrossMaltese
Dagger
Diamond
DiamondBold
DiamondFilled
DiamondNArrow
DiamondNArrowFilled
DiamondPlus
DiamondX
Earth
EarthBold
EarthFilled
FemaleFigure Filled
FixedStar
FixedStarBold
Flag
FlagFilled
GreaterThan
Hash
Heart
HeartBold
Hex
HexBold
Home
HomeBold
HomeDown
HomeDownBold
HomeDownFilled
HomeFilled
HomeNarrow
HomeNarrowDown
HomeNarrowDownFilled
HomeNarrowFilled
Horizontal
HorizontalBold
Hourglass
HourglassFilled
IBeam
IBeamBold
LeftRight
LessThan
MaleFigureFilled
Mars
MarsBold
MarsFilled
Plus
PlusBold
PlusX
RectangleHorizontal
RectangleHorizontalFilled
RectangleVertical
RectangleVerticalFilled
Saltire
SaltireFilled
Smash
Spiral
SpiralBold
Square
SquareBold
SquareDown
SquareFilled
SquareLeft
SquarePlus
SquareRight
SquareUp
SquareX
Star
StarFilled
Tack
TackBold
Tilde
Triangle
TriangleBold
TriangleDown
TriangleDownBold
TriangleDownFilled
TriangleFilled
TriangleLeft
TriangleLeftBold
TriangleLeftFilled
TriangleRight
TriangleRightBold
TriangleRight Filled
Union
UnionBold
UpDown
Venus
VenusBold
VenusFilled
Vertical
VerticalBold
Weave
WeaveBold
X
XBold

Table note: If a style does not define a MarkerSymbol in GraphDataDefault (non-grouped data), the default is Circle. For grouped data, the default MarkerSymbol sequence is Circle, Plus, X, Square, Asterisk, Triangle, Union, Diamond, IBeam, Hex, Home, Heart, Tack, TriangleDown, Spiral, Weave, HomeDown, FixedStar, Chain, Arrow. By default, if more than 20 markers are required, this sequence is recycled as needed.


Line Styles

Line styles are defined by a numeric value 1 - 46. For example,

   style StatGraphPredictionLines from GraphComponent /
         transparency = 0.00
         linethickness = 3px
         linestyle = 35
         contrastcolor = GraphColors('gcpredict')
         foreground = GraphColors('gpredict');

LineStyle values ( 1 - 46 )

Note: If a style does not define a LineStyle in GraphDataDefault (non-grouped data), the default is 1 (solid). For grouped data, the default LineStyle sequence is 1, 34, 4, 41, 5, 15, 6, 35. By default, this sequence is recycled as needed.

The StatGraph template language defines eight linepattern values. These values correspond to the following linestyle values:

LinePattern value Appearance LineStyle value
solid 1
dot 34
dashshort 4
dashdot 41
dash 5
dotdash 15
dashlong 6
dotthin 35