com.sas.graphics.components.waterfallchart
Class WaterfallChartModel

com.sas.graphics.components.waterfallchart.WaterfallChartModel

public class WaterfallChartModel

A WaterfallChartModel encapsulates most of a WaterfallChart's visual display properties. This contrasts with the WaterfallChart's data model, which determines the number and organization of data elements (bars) and the use of axes and a legend.

A WaterfallChartModel contains WaterfallChart-specific properties, common graph properties, and a collection of models that control the appearance of the graph's peripheral elements, such as its axes and legends.

A WaterfallChartModel does not allow null values for properties in its contained models. Passing a null parameter to the set method for a contained model property results in an IllegalArgumentException. Guaranteeing non-null properties for a contained model simplifies access to the display properties and ensures that the WaterfallChart's display state is unambiguous.

Topics:
Bars
Display Properties
Line Styles
Behavior
Samples:
Swing-based Samples
Servlet-based Samples

Since:
SAS 9.1
See Also:
Graph, GraphStyle, WaterfallChart

Field Summary
static java.lang.String defaultFinalBarID
          The value of the FinalBar's default text value obtained via the Waterfall Chart's resource file.
static java.lang.String defaultInitialBarID
          The value of the InitialBar's default text value obtained via the Waterfall Chart's resource file.
static java.lang.String RB_KEY
           
 
Constructor Summary
WaterfallChartModel()
          Constructs a WaterfallChartModel which is assigned to a WaterfallChart to define most of the display properties.
 
Method Summary
 void apply(WaterfallChartModel theOtherModel)
          Utility method to convey properties contained in "theOtherModel" to this object.
 boolean equals(java.lang.Object obj)
          Determines whether another object is equal to this WaterfallChartModel.
 AxisWallModel getAxisWallModel()
          Returns the model that encapsulates the axis wall display properties.
 int getBarShape()
          Returns the bar element shape (applicable when the dimension property is GraphConstants.DIMENSION_3D).
 com.sas.measures.BaseLength getBarWidth()
          Returns the element width (note: the barWidth, barWidthSpace and growBarWidthEnabled properties along with the chart's displayPolicy property all play together to determine what visible width is actually given to the bar elements).
 com.sas.measures.BaseLength getBarWidthSpace()
          Returns the element widthSpace (note: the barWidth, barWidthSpace and growBarWidthEnabled properties along with the chart's displayPolicy property all play together to determine what visible width is actually given to the bar elements).
 AxisModel getCategoryAxisModel()
          Returns the model that encapsulates the display properties for the category (or independent) axis.
 int getColorPaletteType()
          Returns how the values of a numeric styleBy varaible are mapped to a corresponding color representation.
 GraphMatrixAxisModel getColumnAxisModel()
          Returns the Graph's column axis model, which contains axis' appearance preferences.
 int getDimension()
          Get the rendering to display the graph in 2 or 3 dimensions.
 FillStyle getFinalBarFillStyle()
          Deprecated. use getDataElementStyles().getFinalFillStyle();
 java.lang.String getFinalBarID()
          Returns the text identifying the Waterfall Chart's "Final" bar.
 FillStyle getInitialBarFillStyle()
          Deprecated. use getDataElementStyles().getInitialFillStyle();
 double getInitialBarHeight()
          Returns the height value of the Waterfall Chart's "Initial" bar.
 java.lang.String getInitialBarID()
          Returns the text identifying the Waterfall Chart's "Initial" bar.
 LegendModel getLegendModel()
          Returns the model that encapsulates the display properties for the legend.
 int getMissingPolicy()
          Returns the graph behavior for displaying missing values.
 int getOutsideBarLabelContent()
          Returns the type of textual information to be displayed outside and at the end of the bar.
 AdvancedTextStyle getOutsideBarLabelTextStyle()
          Returns the text appearance model that is applied to the outside label on the bar elements.
 ReferenceLineModel getResponseAxisBaselineModel()
          Returns the position and display attributes of the responseVaraible bar's baseline to control where the base of the bar originates from.
 AxisModel getResponseAxisModel()
          Returns the model that encapsulates the display properties for the response axis.
 GraphMatrixAxisModel getRowAxisModel()
          Returns the Graph's row axis model, which contains axis' appearance preferences.
 int getSkin()
          Get the style used to modify the displayed bars.
 int getTrendlineType()
          Returnss the type of trendline connecting successive waterfall bars.
 int hashCode()
          Computes the hash code for this WaterfallChartModel.
 boolean isFinalBarEnabled()
          Returns whether or not to display the Waterfall Chart's "Final" bar.
 boolean isGrowBarWidthEnabled()
          Returns whether or not to allow the bar's displayed width to grow beyond the barWidth property value.
 boolean isMissingResponseEnabled()
          Returns the graph behavior for displaying missing response values.
 boolean isZeroHeightBarsVisible()
          Returns whether or not to show zero height bars.
 void setAxisWallModel(AxisWallModel newAxisWallModel)
          Sets the model that encapsulates the display properties for the axis wall.
 void setBarShape(int newBarShape)
          Sets the bar element shape.
 void setBarWidth(com.sas.measures.BaseLength newWidth)
          Sets the element width (note: the barWidth, barWidthSpace and barGowthEnabled properties along with the chart's displayPolicy property all play together to determine what visible width is actually given to the bar elements).
 void setBarWidthSpace(com.sas.measures.BaseLength newWidthSpace)
          Sets the element widthSpace (note: the barWidth, barWidthSpace and growBarWidthEnabled properties along with the chart's displayPolicy property all play together to determine what visible width is actually given to the bar elements).
 void setCategoryAxisModel(AxisModel newAxisModel)
          Sets the model that encapsulates the display properties for the category (or independent) axis.
 void setColorPaletteType(int newColorPaletteType)
          Sets how the values of a numeric styleBy variable are mapped to a corresponding color representation.
 void setColumnAxisModel(GraphMatrixAxisModel newAxisModel)
          Set the Graph's column axis model, which contains axis' appearance preferences.
 void setDimension(int newDimension)
          Set the rendering to display the graph in 2 or 3 dimensions.
 void setFinalBarEnabled(boolean finalBarEnabled)
          Sets whether or not to display the Waterfall Chart's "Final" bar.
 void setFinalBarFillStyle(FillStyle finalFillStyle)
          Deprecated. use getDataElementStyles().setFinalFillStyle(finalFillStyle);
 void setFinalBarID(java.lang.String finalBarValue)
          Sets the text identifying the Waterfall Chart's "Final" bar.
 void setGrowBarWidthEnabled(boolean newGrowBarWidthEnabled)
          Sets whether or not to allow the bar's displayed width to grow beyond the barWidth property value.
 void setInitialBarFillStyle(FillStyle initialFillStyle)
          Deprecated. use getDataElementStyles().setInitialFillStyle(initialFillStyle);
 void setInitialBarHeight(double initialBarHeight)
          Sets the height value of the Waterfall Chart's "Initial" bar.
 void setInitialBarID(java.lang.String initialBarValue)
          Sets the text identifying the Waterfall Chart's "Initial" bar.
 void setLegendModel(LegendModel newLegendModel)
          Sets the model that encapsulates the display properties for the legend.
 void setMissingPolicy(int newMissing)
          Sets the graph behavior for displaying missing values.
 void setMissingResponseEnabled(boolean newMissingEnabled)
          Sets the graph behavior for displaying missing response values (the default is false).
 void setOutsideBarLabelContent(int newContent)
          Sets the type of textual information to be displayed outside and at the end of the bar.
 void setOutsideBarLabelTextStyle(AdvancedTextStyle newTextStyle)
          Sets the text appearance model that is applied to the outside label on the bar elements.
 void setResponseAxisBaselineModel(ReferenceLineModel newBaselineModel)
          Set the position and display attributes of the responseVaraible bar's baseline to control where the base of the bar originates from.
 void setResponseAxisModel(AxisModel newAxisModel)
          Sets the model that encapsulates the display properties for the response axis.
 void setRowAxisModel(GraphMatrixAxisModel newAxisModel)
          Set the Graph's row axis model, which contains axis' appearance preferences.
 void setSkin(int newSkin)
          Set the style of skin to modify the bar slice appearance.
 void setTrendlineType(int newTrendlineType)
          Sets the type of trendline connecting successive waterfall bars.
 void setZeroHeightBarsVisible(boolean newShowZerosEnabled)
          Sets whether or not to show zero height bars.
 
Methods inherited from class com.sas.graphics.components.GraphModel
apply, getBackgroundFillStyle, getBrushModel, getDataElementStyles, getDataTipModel, getFrameLineStyle, getLogo, getLogoJustification, isAntialiasedGraphics, isAntialiasedText, setAntialiasedGraphics, setAntialiasedText, setBackgroundFillStyle, setBrushModel, setDataElementStyles, setDataTipModel, setFrameLineStyle, setLogo, setLogoJustification
 
Methods inherited from class com.sas.graphics.components.ModelBase
addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, removePropertyChangeListener, setContainedModel
 

Field Detail

RB_KEY

public static final java.lang.String RB_KEY
See Also:
Constant Field Values

defaultFinalBarID

public static final java.lang.String defaultFinalBarID
The value of the FinalBar's default text value obtained via the Waterfall Chart's resource file. Note: This method is provided for easy access to resetting the FinalBar ID value back to its default value.

See Also:
setFinalBarID(java.lang.String)

defaultInitialBarID

public static final java.lang.String defaultInitialBarID
The value of the InitialBar's default text value obtained via the Waterfall Chart's resource file. Note: This method is provided for easy access to resetting the InitialBar ID value back to its default value.

See Also:
setInitialBarID(java.lang.String)
Constructor Detail

WaterfallChartModel

public WaterfallChartModel()
Constructs a WaterfallChartModel which is assigned to a WaterfallChart to define most of the display properties.

Method Detail

apply

public void apply(WaterfallChartModel theOtherModel)
Utility method to convey properties contained in "theOtherModel" to this object.
Note: Contained "models" (i.e. properties that are subclasses of ModelBase) will in turn be called on to convey their properties to the like contained models in the other object. In that respect this can be considered a "tree" type copy.
Also Note: This is a deep copy. Thus after the copy, mutable properties will not be shared by the two instances.

Parameters:
theOtherModel - properties applied to this instance

equals

public boolean equals(java.lang.Object obj)
Determines whether another object is equal to this WaterfallChartModel.

The result is true if and only if the argument is not null and is a WaterfallChartModel object that has the same property values as this object.

Overrides:
equals in class GraphModel
Parameters:
obj - the object to test for equality with this WaterfallChartModel
Returns:
true if the objects are the same; false otherwise.

hashCode

public int hashCode()
Computes the hash code for this WaterfallChartModel.

Overrides:
hashCode in class GraphModel
Returns:
a hash code value for this object.

setRowAxisModel

public void setRowAxisModel(GraphMatrixAxisModel newAxisModel)
                     throws java.lang.IllegalArgumentException
Set the Graph's row axis model, which contains axis' appearance preferences. The row axis appears when the Graph's "Row" variable is assigned to a valid data column. The row Axis manages groups of rows.

Parameters:
newAxisModel - row axis display attributes
Throws:
java.lang.IllegalArgumentException - if newAxisModel is null.
See Also:
getRowAxisModel(), GraphMatrixAxisModel.apply(com.sas.graphics.components.GraphMatrixAxisModel)

getRowAxisModel

public GraphMatrixAxisModel getRowAxisModel()
Returns the Graph's row axis model, which contains axis' appearance preferences. The row axis appears when the Graph's "Row" variable is assigned to a valid data column. The row Axis manages groups of rows.

Returns:
GraphMatrixAxisModel
See Also:
setRowAxisModel(com.sas.graphics.components.GraphMatrixAxisModel), getColumnAxisModel()

setColumnAxisModel

public void setColumnAxisModel(GraphMatrixAxisModel newAxisModel)
                        throws java.lang.IllegalArgumentException
Set the Graph's column axis model, which contains axis' appearance preferences. The column axis appears when the Graph's "Column" variable is assigned to a valid data column. The column Axis manages groups of columns.

Parameters:
newAxisModel - the column axis display attributes
Throws:
java.lang.IllegalArgumentException - if newAxisModel is null.
See Also:
getColumnAxisModel(), GraphMatrixAxisModel.apply(com.sas.graphics.components.GraphMatrixAxisModel)

getColumnAxisModel

public GraphMatrixAxisModel getColumnAxisModel()
Returns the Graph's column axis model, which contains axis' appearance preferences. The column axis appears when the Graph's "Column" variable is assigned to a valid data column. The column Axis manages groups of columns.

Returns:
GraphMatrixAxisModel
See Also:
setColumnAxisModel(com.sas.graphics.components.GraphMatrixAxisModel), getRowAxisModel()

setResponseAxisModel

public void setResponseAxisModel(AxisModel newAxisModel)
                          throws java.lang.IllegalArgumentException
Sets the model that encapsulates the display properties for the response axis. The response axis (or dependent axis) is used to measure the size of the data elements (bars).

Parameters:
newAxisModel - a model that encapsulates axis display properties.
Throws:
java.lang.IllegalArgumentException - if newAxisModel is null.
See Also:
getResponseAxisModel()

getResponseAxisModel

public AxisModel getResponseAxisModel()
Returns the model that encapsulates the display properties for the response axis.

Returns:
the axis model that encapsulates the display properties for the response axis
See Also:
setResponseAxisModel(com.sas.graphics.components.AxisModel)

setCategoryAxisModel

public void setCategoryAxisModel(AxisModel newAxisModel)
                          throws java.lang.IllegalArgumentException
Sets the model that encapsulates the display properties for the category (or independent) axis. The values defined by the categoryVariable role in the WaterfallChartTableDatamodel are displayed on the category axis. The 1st dimension on the OLAP data's column axis is dislayed on the WaterfallChart's category axis (by default, see the WaterfallChartOLAPDataModel for additional options).

Parameters:
newAxisModel - a model that encapsulates axis display properties.
Throws:
java.lang.IllegalArgumentException - if newAxisModel is null.
See Also:
getCategoryAxisModel(), AxisModel.apply(com.sas.graphics.components.AxisModel)

getCategoryAxisModel

public AxisModel getCategoryAxisModel()
Returns the model that encapsulates the display properties for the category (or independent) axis.

Returns:
the axis model that encapsulates the display properties for the category (or independent) axis.
See Also:
setCategoryAxisModel(com.sas.graphics.components.AxisModel)

setAxisWallModel

public void setAxisWallModel(AxisWallModel newAxisWallModel)
                      throws java.lang.IllegalArgumentException
Sets the model that encapsulates the display properties for the axis wall. The axis wall appears in the area between the response and category axis.

Parameters:
newAxisWallModel - a model that encapsulates axis wall display properties.
Throws:
java.lang.IllegalArgumentException - if newAxisWallModel is null.
See Also:
getAxisWallModel(), AxisWallModel.apply(com.sas.graphics.components.AxisWallModel)

getAxisWallModel

public AxisWallModel getAxisWallModel()
Returns the model that encapsulates the axis wall display properties.

Returns:
the axis wall model that encapsulates the display properties for the area between the response and category axes.
See Also:
setAxisWallModel(com.sas.graphics.components.AxisWallModel)

setLegendModel

public void setLegendModel(LegendModel newLegendModel)
                    throws java.lang.IllegalArgumentException
Sets the model that encapsulates the display properties for the legend. If the graph is displaying subgrouped bars then each fill style represents a different subgroup value. The subgroupVariable role in the WaterfallChartTableDataModel can be used to define the subgroup values.
If the graph is displaying multiple responses (and no subgrouped bars) then the legend entry represents each different data column (or measure if using OLAP data).

The legend displays the association between fill style and data value, data column or measure.

Parameters:
newLegendModel - a model that encapsulates legend display properties.
Throws:
java.lang.IllegalArgumentException - if newLegendModel is null.
See Also:
getLegendModel(), LegendModel.apply(com.sas.graphics.components.LegendModel), WaterfallChartOLAPDataModel

getLegendModel

public LegendModel getLegendModel()
Returns the model that encapsulates the display properties for the legend.

Returns:
the legend model that encapsulates the display properties for the legend.
See Also:
setLegendModel(com.sas.graphics.components.LegendModel)

setResponseAxisBaselineModel

public void setResponseAxisBaselineModel(ReferenceLineModel newBaselineModel)
                                  throws java.lang.IllegalArgumentException
Set the position and display attributes of the responseVaraible bar's baseline to control where the base of the bar originates from. Note: This baseline position only pertains to bars displaying values from the responseVariable values and is only applicable if and only if the bars are not stacked. When stacked the baseline position is always 0.

Parameters:
newBaselineModel - the baseline model for the responseVariable bar(s)
Throws:
java.lang.IllegalArgumentException - if newBaselineModel is null.
See Also:
getResponseAxisBaselineModel()

getResponseAxisBaselineModel

public ReferenceLineModel getResponseAxisBaselineModel()
Returns the position and display attributes of the responseVaraible bar's baseline to control where the base of the bar originates from. Note: This baseline position only pertains to bars displaying values from the responseVariable values and is only applicable if and only if the bars are not stacked. When stacked the baseline position is always 0.

Returns:
the baseline model for the responseVariable bar(s)
See Also:
setResponseAxisBaselineModel(com.sas.graphics.components.ReferenceLineModel)

setDimension

public void setDimension(int newDimension)
                  throws java.lang.IllegalArgumentException
Set the rendering to display the graph in 2 or 3 dimensions. Valid values are:
GraphConstants.DIMENSION_2D, GraphConstants.DIMENSION_3D

The default is GraphConstants.DIMENSION_2D.

Parameters:
newDimension - how many dimensions the graph will be rendered in
Throws:
java.lang.IllegalArgumentException - if newDimension is invalid.
See Also:
getDimension()

getDimension

public int getDimension()
Get the rendering to display the graph in 2 or 3 dimensions.

Returns:
how many dimensions the graph will be rendered in
See Also:
setDimension(int)

setBarShape

public void setBarShape(int newBarShape)
Sets the bar element shape.
Valid values are:
This property is only applicable when the dimension property is GraphConstants.DIMENSION_3D.

Parameters:
newBarShape - the desired bar shape
Throws:
java.lang.IllegalArgumentException - if newBarShape is invalid.
See Also:
getBarShape()

getBarShape

public int getBarShape()
Returns the bar element shape (applicable when the dimension property is GraphConstants.DIMENSION_3D).

Returns:
the shape of the bar element
See Also:
setBarShape(int)

setBarWidth

public void setBarWidth(com.sas.measures.BaseLength newWidth)
                 throws java.lang.IllegalArgumentException
Sets the element width (note: the barWidth, barWidthSpace and barGowthEnabled properties along with the chart's displayPolicy property all play together to determine what visible width is actually given to the bar elements).

Parameters:
newWidth - the desired width of the bar
Throws:
java.lang.IllegalArgumentException - if newWidth is null.
See Also:
setBarWidthSpace(com.sas.measures.BaseLength), setGrowBarWidthEnabled(boolean), Graph.setDisplayPolicy(int), getBarWidth()

getBarWidth

public com.sas.measures.BaseLength getBarWidth()
Returns the element width (note: the barWidth, barWidthSpace and growBarWidthEnabled properties along with the chart's displayPolicy property all play together to determine what visible width is actually given to the bar elements).

Returns:
bar width set for bar data elements
See Also:
getBarWidthSpace(), isGrowBarWidthEnabled(), Graph.getDisplayPolicy(), setBarWidth(com.sas.measures.BaseLength)

setBarWidthSpace

public void setBarWidthSpace(com.sas.measures.BaseLength newWidthSpace)
                      throws java.lang.IllegalArgumentException
Sets the element widthSpace (note: the barWidth, barWidthSpace and growBarWidthEnabled properties along with the chart's displayPolicy property all play together to determine what visible width is actually given to the bar elements).

Parameters:
newWidthSpace - the desired gap between bar elements
Throws:
java.lang.IllegalArgumentException - if newWidthSpace is null.
See Also:
setBarWidth(com.sas.measures.BaseLength), setGrowBarWidthEnabled(boolean), Graph.setDisplayPolicy(int), getBarWidth()

getBarWidthSpace

public com.sas.measures.BaseLength getBarWidthSpace()
Returns the element widthSpace (note: the barWidth, barWidthSpace and growBarWidthEnabled properties along with the chart's displayPolicy property all play together to determine what visible width is actually given to the bar elements).

Returns:
the desired gap between bar elements
See Also:
getBarWidth(), isGrowBarWidthEnabled(), Graph.getDisplayPolicy(), setBarWidthSpace(com.sas.measures.BaseLength)

setGrowBarWidthEnabled

public void setGrowBarWidthEnabled(boolean newGrowBarWidthEnabled)
Sets whether or not to allow the bar's displayed width to grow beyond the barWidth property value. If grow bar width is enabled and the available display space is larger then what is needed by the chart for the defined barWidth and barSpace properties then there are 2 possibilities: (1) display the bars using the specified barWidth property but allow the displayed bar space to grow beyond the barWidthSpace property value or (2) allow the displayed bar width and the displayed bar space to grow beyond the barwidth and barWidthSpace property values (but ensuring that the growth is proportioned to the specified values).

The default value is true.

Parameters:
newGrowBarWidthEnabled - - true means to allow the bar elements to grow if there is available space
See Also:
setBarWidth(com.sas.measures.BaseLength), setBarWidthSpace(com.sas.measures.BaseLength), Graph.setDisplayPolicy(int), getBarWidth()

isGrowBarWidthEnabled

public boolean isGrowBarWidthEnabled()
Returns whether or not to allow the bar's displayed width to grow beyond the barWidth property value.

Returns:
whether or not to allow the bar's displayed width to grow beyond the barWidth property value.
See Also:
getBarWidth(), getBarWidthSpace(), Graph.getDisplayPolicy(), setGrowBarWidthEnabled(boolean)

setZeroHeightBarsVisible

public void setZeroHeightBarsVisible(boolean newShowZerosEnabled)
Sets whether or not to show zero height bars. The default value is true. Note: zero height is not the same as a response value of 0. If the bar's response value is the same value as its associated baseline then it will have a zero height.

Parameters:
newShowZerosEnabled - true means that if zero height bars are present then they are displayed (which will act as a place holder).
See Also:
isZeroHeightBarsVisible()

isZeroHeightBarsVisible

public boolean isZeroHeightBarsVisible()
Returns whether or not to show zero height bars.

Returns:
true zero height bars are allowed
See Also:
setZeroHeightBarsVisible(boolean)

setMissingResponseEnabled

public void setMissingResponseEnabled(boolean newMissingEnabled)
Sets the graph behavior for displaying missing response values (the default is false). (Similar to setMissingPolicy but this is the behavior applied to missing response values.)

Note: missing response values (Ex. com.sas.MissingValues.Dot ) obviously do not have a representable response and as such no bar will be produced. However this option is available to control whether or not the classification values associated with missing response values are represented in the graph. For instance if you have categories "A", "B" and "C" with associated response values 5, 10 and MissingValues.Dot then the resulting graph would display a category axis with "A" and "B". If you set the missingResponseEnabled to true then "C" will also appear in the graph (however "C" will not display an associated bar).

Subgroup values with associated missing values are not assigned a display attributes (colors, symbols) etc unless the missingResponseEnabled property is set to true. This mechanism may be useful in controlling display attribute mapping between graphs via data values embedded in the data source.

Special note:
The following String values are interpreted as missing values:

  • null
  • any string value that cannot be informatted into a numerical value
  • a non-String object in a String data column


The following Number values are interpreted as missing values:

  • null
  • com.sas.MissingValues objects
  • a non-Number object in a Number data column
  • Double.NaN
  • Double.POSITIVE_INFINITY
  • Double.NEGATIVE_INFINITY

Parameters:
newMissingEnabled - true means represent missing response values in the graph
See Also:
isMissingResponseEnabled()

isMissingResponseEnabled

public boolean isMissingResponseEnabled()
Returns the graph behavior for displaying missing response values.

Returns:
whether or not missing response values are represented in the graph
See Also:
setMissingResponseEnabled(boolean)

setMissingPolicy

public void setMissingPolicy(int newMissing)
                      throws java.lang.IllegalArgumentException
Sets the graph behavior for displaying missing values. (Similar to the server side "missing" statement in prog gchart.)
Valid values are:
  • GraphConstants.AUTOMATIC (default)
  • GraphConstants.TRUE
  • GraphConstants.FALSE

GraphConstants.AUTOMATIC is the same as the server side proc gchart default (which is to display all classification variable missing values except category).
GraphConstants.TRUE is the same as the server side gchart behavior with the "missing" statement (which is to display all all classification variable missing values (including category)).
GraphConstants.FALSE means don't display any classification variable missing values.

Special note:
The following String values are interpreted as missing values:

  • null
  • com.sas.MissingValues objects
  • zero length string
  • a string containing only spaces


The following Number values are interpreted as missing values:

  • null
  • com.sas.MissingValues objects
  • a non-Number objects in a Number data column
  • Double.NaN
  • Double.POSITIVE_INFINITY
  • Double.NEGATIVE_INFINITY

Throws:
java.lang.IllegalArgumentException - if newMissing is invalid.
See Also:
getMissingPolicy()

getMissingPolicy

public int getMissingPolicy()
Returns the graph behavior for displaying missing values.

Returns:
how to display classification variable missing values.
See Also:
setMissingPolicy(int)

setOutsideBarLabelContent

public void setOutsideBarLabelContent(int newContent)
Sets the type of textual information to be displayed outside and at the end of the bar. Valid values are :
  • GraphConstants.DATA_LABEL_AUTOMATIC
  • GraphConstants.DATA_LABEL_NONE
  • GraphConstants.DATA_LABEL_CATEGORY
  • GraphConstants.DATA_LABEL_RESPONSE
  • GraphConstants.DATA_LABEL_SUM
  • GraphConstants.DATA_LABEL_MEAN
  • GraphConstants.DATA_LABEL_PERCENT

Parameters:
newContent - the type of textual information to be displayed outside and at the end of the bar
Throws:
java.lang.IllegalArgumentException - if an invalid parameter value is specified.
See Also:
getOutsideBarLabelContent()

getOutsideBarLabelContent

public int getOutsideBarLabelContent()
Returns the type of textual information to be displayed outside and at the end of the bar.

Returns:
the type of textual information to be displayed outside and at the end of the bar
See Also:
setOutsideBarLabelContent(int)

setOutsideBarLabelTextStyle

public void setOutsideBarLabelTextStyle(AdvancedTextStyle newTextStyle)
                                 throws java.lang.IllegalArgumentException
Sets the text appearance model that is applied to the outside label on the bar elements.

Parameters:
newTextStyle - the new repository for the outside bar label's display attributes
Throws:
java.lang.IllegalArgumentException - if newTextStyle is null.
See Also:
getOutsideBarLabelTextStyle(), AdvancedTextStyle.apply(com.sas.graphics.components.AdvancedTextStyle)

getOutsideBarLabelTextStyle

public AdvancedTextStyle getOutsideBarLabelTextStyle()
Returns the text appearance model that is applied to the outside label on the bar elements.

Returns:
text attributes for the outside bar label text
See Also:
setOutsideBarLabelTextStyle(com.sas.graphics.components.AdvancedTextStyle)

setFinalBarEnabled

public void setFinalBarEnabled(boolean finalBarEnabled)
Sets whether or not to display the Waterfall Chart's "Final" bar.

Parameters:
finalBarEnabled - true means to display the resulting "Final" bar.
See Also:
isFinalBarEnabled()

isFinalBarEnabled

public boolean isFinalBarEnabled()
Returns whether or not to display the Waterfall Chart's "Final" bar.

Returns:
true if the "Final" Waterfall Chart bar is displayed.
See Also:
setFinalBarEnabled(boolean)

setFinalBarID

public void setFinalBarID(java.lang.String finalBarValue)
Sets the text identifying the Waterfall Chart's "Final" bar. Note: this text value only appears if the WaterfallFinalBarEnabled property is true. The default value is obtained from the Waterfall Chart's resource file. Note: null is a valid value and indicates that no text value is to be displayed along the axis.

Parameters:
finalBarValue - the text value identifying the Waterfall Chart's "Final" bar
See Also:
getFinalBarID()

getFinalBarID

public java.lang.String getFinalBarID()
Returns the text identifying the Waterfall Chart's "Final" bar.

Returns:
the text identifying the Waterfall Chart's "Final" bar
See Also:
setFinalBarID(java.lang.String)

setFinalBarFillStyle

public void setFinalBarFillStyle(FillStyle finalFillStyle)
Deprecated. use getDataElementStyles().setFinalFillStyle(finalFillStyle);


getFinalBarFillStyle

public FillStyle getFinalBarFillStyle()
Deprecated. use getDataElementStyles().getFinalFillStyle();


setInitialBarHeight

public void setInitialBarHeight(double initialBarHeight)
Sets the height value of the Waterfall Chart's "Initial" bar. Double.NaN is the default and indicates that the initial bar is not to be displayed. the initial bar is NOT to be displayed. The initial bar is only displayed if the initial bar value is a real double value (i.e. not Double.NaN or infinity).

Parameters:
initialBarHeight - the value of the Initial bar.
See Also:
getInitialBarHeight()

getInitialBarHeight

public double getInitialBarHeight()
Returns the height value of the Waterfall Chart's "Initial" bar.

Returns:
the height value of the Waterfall Chart's "Initial" bar.
See Also:
setInitialBarHeight(double)

setInitialBarID

public void setInitialBarID(java.lang.String initialBarValue)
Sets the text identifying the Waterfall Chart's "Initial" bar. Note: this text value only appears if the Initial Bar is displayed (i.e. if the initialBarHeight property value is a real double value (not Double.NaN or infinity)). The default text value is obtained from the Waterfall Chart's resource file. Note: null is a valid value and indicates that no text value is to be displayed along the axis.

Parameters:
initialBarValue - the text value identifying the Waterfall Chart's "Initial" bar
See Also:
getInitialBarID()

getInitialBarID

public java.lang.String getInitialBarID()
Returns the text identifying the Waterfall Chart's "Initial" bar.

Returns:
the text identifying the Waterfall Chart's "Initial" bar
See Also:
setInitialBarID(java.lang.String)

setInitialBarFillStyle

public void setInitialBarFillStyle(FillStyle initialFillStyle)
Deprecated. use getDataElementStyles().setInitialFillStyle(initialFillStyle);


getInitialBarFillStyle

public FillStyle getInitialBarFillStyle()
Deprecated. use getDataElementStyles().getInitialFillStyle();


setTrendlineType

public void setTrendlineType(int newTrendlineType)
Sets the type of trendline connecting successive waterfall bars.
Valid values are:
  • GraphConstants.TRENDLINE_NONE
  • GraphConstants.TRENDLINE_VALUE (default)
  • GraphConstants.TRENDLINE_BASE

GraphConstants.TRENDLINE_NONE will not display a trendline. GraphConstants.TRENDLINE_VALUE displays a trendline joining the ending position from one bar to teh ending position of the successive bar. GraphConstants.TRENDLINE_BASE displays a trendline joining the ending position from one bar to the base position (or starting position) of the successive bars. Please note: Currently the trendline is only supported when dimension is GraphConstatnts.DIMENSION_2D.

The trendline borrows all of its display properties bar's outline line style except for it coloring. The trendline is colored by the DataElementStyles's countinuousThreeColor properties. The continuousContrastThreeColorStartColor property is applied to the sections of the trend line that have an ascending slope (i.e. the following bar is positive). The continuousContrastThreeColorEndColor property is applied to the sections of the trend line that have an descending slope (i.e. the following bar is negative). The continuousContrastThreeColorNeutralColor property is applied to the sections of the trend line that have no slope (i.e. the following bar is 0). These colors will depend upon what graphStyle has been applied. A typical override to these settings are to set the start color to Color.green, set the end color to Color.red and set the neutral color to Color.black or the same color as the bar's outline color.

Parameters:
newTrendlineType - type of trendline
See Also:
DataElementStyles.setContinuousContrastThreeColorStartColor(java.awt.Color), DataElementStyles.setContinuousContrastThreeColorNeutralColor(java.awt.Color), DataElementStyles.setContinuousContrastThreeColorEndColor(java.awt.Color), DataElementStyles.setOutlineLineStyle(com.sas.graphics.components.LineStyle), GraphConstants.TRENDLINE_NONE, GraphConstants.TRENDLINE_VALUE, GraphConstants.TRENDLINE_BASE, getTrendlineType()

getTrendlineType

public int getTrendlineType()
Returnss the type of trendline connecting successive waterfall bars.

Returns:
true if the trendline is displayed.
See Also:
setTrendlineType(int)

setColorPaletteType

public void setColorPaletteType(int newColorPaletteType)
                         throws java.lang.IllegalArgumentException
Sets how the values of a numeric styleBy variable are mapped to a corresponding color representation.
Valid values are:
  • GraphConstants.COLOR_PALETTE_TWO_COLOR_DISCRETE (default)
  • GraphConstants.COLOR_PALETTE_TWO_COLOR_CONTINUOUS
  • GraphConstants.COLOR_PALETTE_THREE_COLOR_DISCRETE
  • GraphConstants.COLOR_PALETTE_THREE_COLOR_CONTINUOUS
  • GraphConstants.COLOR_PALETTE_COLOR_SPECTRUM

To explain this mapping it is necessary to understand the graph's resulting "min" "max" and "baseline" values (i.e. the min, max and baseline values pertaining to the styleBy variable values). The LegendModel has 4 properties {minimum, maximum, baseline, symmetricEnabled} that can affect the graph's resulting min, max and baseline values. Typically the LegendModel's minimum and maximum values (default of Double.NaN) are not be specified and result in the graph computing the resulting min and max values from the styleBy variable data. However if the LegendModel's minimum and maximum values are specified then they override the graph's computed min and max values. Specifying a maximum or maximum on the LegendModel has the inherent risk of improperly defining the data range (i.e. this specified range not encompassing the styleBy variables data range). If this happens the specified range is still honored by the legend and any data values that extend beyond the specified range are colored by that color value mapped to the boundary which was breached. For example if a user defined max value of 100 was specified then any data values greater than 100 would be mapped to the the same color as 100.
Note: a warning message is when rendering if on the LegendModel :
  • the minimum is specified and baseline is less than minimum
  • the maximum is specified and baseline is greater than maximum
  • the maximum is specified less than minimum

The LegendModel's baseline value (default of 0.0) is treated somewhat differently from maximum and minimum in determining the graph's resulting min/max range. The LegendModel's baseline value is treated as if it were a data value when the graph is computing its resulting min and max values. If the LegendModel's baseline value is set to Double.NaN then the graph's resulting baseline value is computed to be the midpoint of the resulting min/max range. Note: The LegendModel's baseline value may only affect the graphs resulting maximum if LegendModel's maximum has not been specified. Likewise baseline may affect the graphs resulting minimum if minimum has not been specified.
The LegendModel's symetricEnabled value (default of false) is only applicable when maximum and minimum have not been specified and baseline has been specified. If symmetricEnabled is true then the graph's computed min/max range will encompass the data range and be symmetric about the baseline.

Applying colors to the resulting range:

A value of GraphConstants.COLOR_PALETTE_TWO_COLOR_CONTINUOUS indicates that the DataElementStyles' continuousFillTwoColor values are applied graduating the colors from min to max.

A value of GraphConstants.COLOR_PALETTE_TWO_COLOR_DISCRETE indicates that the DataElementStyles' continuousFillTwoColor values are applied. Any value falling between min and baseline (not including baseline) are mapped to DataElementStyles' continuousFillTwoColorStartColor color. Values falling between the baseline (including the baseline) and max are colored DataElementStyles' continuousFillTwoColorEndColor.

A value of GraphConstants.COLOR_PALETTE_THREE_COLOR_CONTINUOUS indicates that the DataElementStyles' continuousFillThreeColor values are applied gradating between the start and neutral colors from min to baseline and then gradate between the neutral and end colors from baseline to max.

A value of GraphConstants.COLOR_PALETTE_THREE_COLOR_DISCRETE indicates that the DataElementStyles' continuousFillThreeColor values are applied. Any value falling between min and baseline (not including baseline) are mapped to DataElementStyles' continuousFillThreeColorStartColor color. Values equal to the baseline value are colored DataElementStyles' continuousFillThreeColorNeutralColor. Values falling between the baseline (not including the baseline) and max are colored DataElementStyles' continuousFillThreeColorEndColor.

A value of GraphConstants.COLOR_PALETTE_COLOR_SPECTRUM indicates that the DataElementStyles' continuousColorSpectrum values should be mapped to the corresponding data value. The color spectrum defines the mapping in percentages along a normalized range or 0.0 to 1.0. Note: Although the LegendModel's baseline value is still considered when deterining the resulting min/max range, the baseline value is not mapped to any specific color when using the DataElementStyles' continuousColorSpectrum.

Parameters:
newColorPaletteType - defines which set of colors to apply when a numeric styleBy variable has been assigned.
Throws:
java.lang.IllegalArgumentException - if newColorPaletteType is invalid.
See Also:
getColorPaletteType()

getColorPaletteType

public int getColorPaletteType()
Returns how the values of a numeric styleBy varaible are mapped to a corresponding color representation.

Returns:
the an indicator of which set of colors to apply when a numeric styleBy variable has been assigned.
See Also:
setColorPaletteType(int)

setSkin

public void setSkin(int newSkin)
             throws java.lang.IllegalArgumentException
Set the style of skin to modify the bar slice appearance. Skins are not supported with 3D bars. Valid values are:
GraphConstants.SKIN_AUTOMATIC, GraphConstants.SKIN_NONE GraphConstants.SKIN_MODERN

The default is GraphConstants.SKIN_AUTOMATIC.

Parameters:
newSkin - Which skin style to use
Throws:
java.lang.IllegalArgumentException - if newSkin is invalid.
See Also:
getSkin()

getSkin

public int getSkin()
Get the style used to modify the displayed bars.

Returns:
current skin definition
See Also:
setSkin(int)



Copyright © 2009 SAS Institute Inc. All Rights Reserved.