com.sas.graphics.components.barchart
Class BarChartModel

com.sas.graphics.components.barchart.BarChartModel

public class BarChartModel

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

A BarChartModel contains BarChart-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 BarChartModel 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 BarChart'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, BarChart

Constructor Summary
BarChartModel()
          Constructs a BarChartModel which is assigned to a BarChart to define most of the display properties.
 
Method Summary
 void apply(BarChartModel 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 BarChartModel.
 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.
 int getInsideBarLabelContent()
          Returns the type of textual information to be displayed inside the bar.
 AdvancedTextStyle getInsideBarLabelTextStyle()
          Returns the text appearance model that is applied to the inside label on the bar elements.
 LegendModel getLegendModel()
          Returns the model that encapsulates the display properties for the legend.
 int getMissingPolicy()
          Returns the graph behavior for displaying missing values.
 int getOrientation()
          Returns the orientation of the bar elements.
 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 getResponse2AxisBaselineModel()
          Returns the position and display attributes of the response2Varaible bar's baseline to control where the base of the bar originates from.
 double getResponse2AxisLowerThreshold()
          Returns the lower threshold value of the response2 axis (any Double.NaN means no threshold).
 AxisModel getResponse2AxisModel()
          Returns the model that encapsulates the display properties for the response2 axis.
 double getResponse2AxisUpperThreshold()
          Returns the upper threshold value of the response2 axis (any Double.NaN means no threshold).
 ReferenceLineModel getResponseAxisBaselineModel()
          Returns the position and display attributes of the responseVaraible bar's baseline to control where the base of the bar originates from.
 double getResponseAxisLowerThreshold()
          Returns the lower threshold value of the response axis (any Double.NaN means no threshold).
 AxisModel getResponseAxisModel()
          Returns the model that encapsulates the display properties for the response axis.
 double getResponseAxisUpperThreshold()
          Returns the upper threshold value of the response axis (any Double.NaN means no threshold).
 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 getStackBarPolicy()
          Returns whether or not the bar elements stack (for each category value) when subgrouped or when multiple variables are applied.
 int getUniformPolicy()
          Returns whether or not the set of category axis values are forced to be uniform (i.e. the same) between all cells (GraphConstants.TRUE), uniform within the cells of each column (GraphConstants.AUTOMATIC) or not uniform (GraphConstants.FALSE).
 int hashCode()
          Computes the hash code for this BarChartModel.
 boolean isConfidenceLimitEnabled()
          Returns the graph behavior for displaying confidence limit brackets around the bars.
 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 isUniformEnabled()
          Deprecated. use getUniformPolicy
 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 varaible are mapped to a corresponding color representation.
 void setColumnAxisModel(GraphMatrixAxisModel newAxisModel)
          Set the Graph's column axis model, which contains axis' appearance preferences.
 void setConfidenceLimitEnabled(boolean newConfidenceEnabled)
          Sets the confidence limit brackets around the bars.It is based on the values provided as high and low values as a data column.Based on which the brackets appear around the bar.
 void setDimension(int newDimension)
          Set the rendering to display the graph in 2 or 3 dimensions.
 void setGrowBarWidthEnabled(boolean newGrowBarWidthEnabled)
          Sets whether or not to allow the bar's displayed width to grow beyond the barWidth property value.
 void setInsideBarLabelContent(int newContent)
          Sets the type of textual information to be displayed inside the bar.
 void setInsideBarLabelTextStyle(AdvancedTextStyle newTextStyle)
          Sets the text appearance model that is applied to the inside label on the bar elements.
 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 setOrientation(int newOrientation)
          Set the orientation of the bar elements.
 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 setResponse2AxisBaselineModel(ReferenceLineModel newBaselineModel)
          Set the position and display attributes of the response2Varaible bar's baseline to control where the base of the bar originates from.
 void setResponse2AxisLowerThreshold(double newThreshold)
          Sets the lower threshold value on the response2 axis causing the bar2 elements to change the fill style extending (starting from the baseline) beyond this value.
 void setResponse2AxisModel(AxisModel newAxisModel)
          Sets the model that encapsulates the display properties for the response2 axis.
 void setResponse2AxisUpperThreshold(double newThreshold)
          Sets the upper threshold value on the response2 axis causing the bar2 elements to change the fill style extending (starting from the baseline) beyond this value.
 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 setResponseAxisLowerThreshold(double newThreshold)
          Sets the lower threshold value on the response axis causing the bar elements to change the fill style extending (starting from the baseline) beyond this value.
 void setResponseAxisModel(AxisModel newAxisModel)
          Sets the model that encapsulates the display properties for the response axis.
 void setResponseAxisUpperThreshold(double newThreshold)
          Sets the upper threshold value on the response axis causing the bar elements to change the fill style extending (starting from the baseline) beyond this value.
 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 setStackBarPolicy(int newStackBarPolicy)
          Sets whether or not to stack the bar elements (for each category value).
 void setUniformEnabled(boolean newUniformEnabled)
          Deprecated. use setUniformPolicy
 void setUniformPolicy(int newUniformPolicy)
          Sets whether or not the set of category axis values are forced to be uniform (i.e. the same) between all cells (GraphConstants.TRUE), uniform within the cells of each column (GraphConstants.AUTOMATIC) or not forced at all (GraphConstants.FALSE).
 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
 

Constructor Detail

BarChartModel

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

Method Detail

apply

public void apply(BarChartModel 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 BarChartModel.

The result is true if and only if the argument is not null and is a BarChartModel 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 BarChartModel
Returns:
true if the objects are the same; false otherwise.

hashCode

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

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(), setResponse2AxisModel(com.sas.graphics.components.AxisModel)

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), getResponse2AxisModel()

setResponse2AxisModel

public void setResponse2AxisModel(AxisModel newAxisModel)
                           throws java.lang.IllegalArgumentException
Sets the model that encapsulates the display properties for the response2 axis. The response2Variable role in the BarChartTableDataModel can be used to associate bar elements with the response2 axis. The response2 axis (a second dependent axis) is used to measure the size of the associated data elements (bars). The response2 axis is not visile unless it has associated bars.

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

getResponse2AxisModel

public AxisModel getResponse2AxisModel()
Returns the model that encapsulates the display properties for the response2 axis.

Returns:
the axis model that encapsulates the display properties for the response2 axis
See Also:
setResponse2AxisModel(com.sas.graphics.components.AxisModel), getResponseAxisModel()

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 BarChartTableDatamodel are displayed on the category axis. The 1st dimension on the OLAP data's column axis is dislayed on the BarChart's category axis (by default, see the BarChartOLAPDataModel 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 BarChartTableDataModel 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), BarChartTableDataModel.setSubgroupVariable(com.sas.graphics.components.ClassificationVariable), BarChartOLAPDataModel

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)

setResponseAxisUpperThreshold

public void setResponseAxisUpperThreshold(double newThreshold)
Sets the upper threshold value on the response axis causing the bar elements to change the fill style extending (starting from the baseline) beyond this value. The Default value is Double.POSITIVE_INFINITY (meaning no threshold). The threshold value is only valid if the value is not a Double.NaN and is greater than the baseline. This value does not affect the response axis range.

Parameters:
newThreshold - the upper threshold value on the response axis
See Also:
getResponseAxisUpperThreshold(), setResponseAxisLowerThreshold(double), setResponse2AxisUpperThreshold(double)

getResponseAxisUpperThreshold

public double getResponseAxisUpperThreshold()
Returns the upper threshold value of the response axis (any Double.NaN means no threshold).

Returns:
the upper threshold value on the response axis
See Also:
setResponseAxisUpperThreshold(double), getResponse2AxisUpperThreshold()

setResponseAxisLowerThreshold

public void setResponseAxisLowerThreshold(double newThreshold)
Sets the lower threshold value on the response axis causing the bar elements to change the fill style extending (starting from the baseline) beyond this value. The Default value is Double.NEGATIVE_INFINITY (meaning no threshold). The threshold value is only valid if the value is not a Double.NaN and is lower than the baseline. This value does not affect the response axis range.

Parameters:
newThreshold - the lower threshold value on the response axis
See Also:
getResponseAxisLowerThreshold(), setResponseAxisUpperThreshold(double), setResponse2AxisLowerThreshold(double)

getResponseAxisLowerThreshold

public double getResponseAxisLowerThreshold()
Returns the lower threshold value of the response axis (any Double.NaN means no threshold).

Returns:
the responseVariable bar's loser threshold value
See Also:
setResponseAxisLowerThreshold(double), getResponse2AxisLowerThreshold()

setResponse2AxisUpperThreshold

public void setResponse2AxisUpperThreshold(double newThreshold)
Sets the upper threshold value on the response2 axis causing the bar2 elements to change the fill style extending (starting from the baseline) beyond this value. The Default value is Double.POSITIVE_INFINITY (meaning no threshold). The threshold value is only valid if the value is not a Double.NaN and is greater than the baseline. This value does not affect the response axis range.

Parameters:
newThreshold - the value of the threshold
See Also:
getResponse2AxisUpperThreshold(), setResponseAxisUpperThreshold(double)

getResponse2AxisUpperThreshold

public double getResponse2AxisUpperThreshold()
Returns the upper threshold value of the response2 axis (any Double.NaN means no threshold).

Returns:
the response2Variable bar's upper threshold value
See Also:
setResponse2AxisUpperThreshold(double), getResponseAxisUpperThreshold()

setResponse2AxisLowerThreshold

public void setResponse2AxisLowerThreshold(double newThreshold)
Sets the lower threshold value on the response2 axis causing the bar2 elements to change the fill style extending (starting from the baseline) beyond this value. The Default value is Double.NEGATIVE_INFINITY (meaning no threshold). The threshold value is only valid if the value is not a Double.NaN and is lower than the baseline. This value does not affect the response axis range.

Parameters:
newThreshold - the value of the threshold
See Also:
getResponse2AxisLowerThreshold(), setResponseAxisLowerThreshold(double)

getResponse2AxisLowerThreshold

public double getResponse2AxisLowerThreshold()
Returns the lower threshold value of the response2 axis (any Double.NaN means no threshold).

Returns:
the response2Variable bar's lower threshold value
See Also:
setResponse2AxisLowerThreshold(double), getResponseAxisLowerThreshold()

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 newResponseAxisBaselineModel is null.
See Also:
getResponseAxisBaselineModel(), setResponse2AxisBaselineModel(com.sas.graphics.components.ReferenceLineModel)

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), setResponse2AxisBaselineModel(com.sas.graphics.components.ReferenceLineModel)

setResponse2AxisBaselineModel

public void setResponse2AxisBaselineModel(ReferenceLineModel newBaselineModel)
                                   throws java.lang.IllegalArgumentException
Set the position and display attributes of the response2Varaible 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 response2Variable 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 response2Variable bar(s)
Throws:
java.lang.IllegalArgumentException - if newResponse2AxisBaselineModel is null.
See Also:
getResponse2AxisBaselineModel(), setResponseAxisBaselineModel(com.sas.graphics.components.ReferenceLineModel)

getResponse2AxisBaselineModel

public ReferenceLineModel getResponse2AxisBaselineModel()
Returns the position and display attributes of the response2Varaible 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 response2Variable 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 response2Variable bar(s)
See Also:
setResponse2AxisBaselineModel(com.sas.graphics.components.ReferenceLineModel), setResponseAxisBaselineModel(com.sas.graphics.components.ReferenceLineModel)

setOrientation

public void setOrientation(int newOrientation)
                    throws java.lang.IllegalArgumentException
Set the orientation of the bar elements.

Note: that this affects where the response (dependent) and category (independent) axes are placed. Valid values are:

   javax.swing.SwingConstants.VERTICAL,
   javax.swing.SwingConstants.HORIZONTAL
 

Parameters:
newOrientation - the orientation of the bar elements
Throws:
java.lang.IllegalArgumentException - if an invalid value is specified
See Also:
getOrientation()

getOrientation

public int getOrientation()
Returns the orientation of the bar elements.

Note: that this affects where the response (dependent) and category (independent) axes are placed. Possible values are:

   javax.swing.SwingConstants.VERTICAL,
   javax.swing.SwingConstants.HORIZONTAL
 

Returns:
the fillStyle fill type
See Also:
setOrientation(int)

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 proportionate 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)

setStackBarPolicy

public void setStackBarPolicy(int newStackBarPolicy)
Sets whether or not to stack the bar elements (for each category value). Valid values are:
 GraphConstants.AUTOMATIC
 GraphConstants.TRUE
 case GraphConstants.FALSE
 

The default value is GraphConstants.AUTOMATIC. The BarChart's GraphConstants.AUTOMATIC behavior is to stack subgrouped bars but not stack multiple response bars.

If a subgroupVariable has been assigned then GraphConstants.TRUE would stack the subgroup bars. If multiple responseVariables or multiple response2Variables have been assigned then GraphConstants.TRUE would stack the multiple response bars. Note: If a subgroupVariable and more than one response variable has been specified (i.e. sum of the responseVariables and response2Variables assignments is greater than 1 ) then this property is ignored and the BarChart will stack the subgroup bars. To clarify stacking of multiple responses: responseVariable and response2Variable bars are not stacked on each other (because they are assigned differend axes). But if multiple AnalysisVariables (via the AnalysisVariableList class) are assigned to the responseVariable OR the response2Variable then they can be stacked.

For example:

 BarChartTableDataModel dataModel = new BarChartTableDataModel();
 dataModel.setCategoryVariable(new ClassificationVariableList("Products"));
 dataModel.setResponseVariable(new AnalysisVariableList(new String[]{"SalesA","SalesB","SalesC"}));
 BarChart barChart = new BarChart(dataModel);
 barChart.getGraphModel().setStackBarPolicy(GraphConstants.TRUE)
 
In this in case the SalesA, SalesB and SalesC bars would stack on top of each other. If "dataModel.setResponse2Variable(new AnalysisVariableList(new String[]{"PreSalesA","PreSalesB","PreSalesC"}));" were added then PreSalesA, PreSalesB and PreSalesC bars would stack on each other (but Sales and PreSales bars would not stack on each other.

Parameters:
newStackBarPolicy - the bar stacking preference
Throws:
java.lang.IllegalArgumentException - if an invalid value is specified
See Also:
getStackBarPolicy()

getStackBarPolicy

public int getStackBarPolicy()
Returns whether or not the bar elements stack (for each category value) when subgrouped or when multiple variables are applied.

Returns:
the bar stack preference
See Also:
setStackBarPolicy(int)

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)

setUniformEnabled

public void setUniformEnabled(boolean newUniformEnabled)
Deprecated. use setUniformPolicy

Sets whether or not the category axis values are identical between all cells. Note: If uniformEnabled is true and more than one cell is displayed then there are some limitation placed on sorting the category axis. For one the values can only be sorted by the category values (not by the response value or other data). This is to preserve a uniform appearance between all cells.

Parameters:
newUniformEnabled - The uniformEnabled to set
See Also:
isUniformEnabled()

isUniformEnabled

public boolean isUniformEnabled()
Deprecated. use getUniformPolicy

Returns whether or not the category axis values are identical between all cells.

Returns:
boolean whether or not the category axis values are identical between all cells.
See Also:
setUniformEnabled(boolean)

setUniformPolicy

public void setUniformPolicy(int newUniformPolicy)
                      throws java.lang.IllegalArgumentException
Sets whether or not the set of category axis values are forced to be uniform (i.e. the same) between all cells (GraphConstants.TRUE), uniform within the cells of each column (GraphConstants.AUTOMATIC) or not forced at all (GraphConstants.FALSE).
Valid values are:
  • GraphConstants.AUTOMATIC (default)
  • GraphConstants.TRUE
  • GraphConstants.FALSE

Note: There are some limitation placed on sorting the category axis if forced to be uniform. One limitation is that the values can only be sorted by the category values (not by the response or other data column) because to do otherwise suggests inconsistent category axis value ordering between cells.

Similarly, if the category axis value sort is not based upon the category axis values then GraphConstants.AUTOMATIC will perform the same as GraphConstants.FALSE. Otherwise it will ensure that the category axis values are uniform between cells for a given column if the orientation is vertical. If the orientation is horizontl then it will ensure that the category axis values are uniform within a given row.

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

  • null
  • zero length string
  • a non-String object in a String data column
  • a string containing only spaces


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:
newUniformPolicy - defines category axis uniformity
Throws:
java.lang.IllegalArgumentException - if newUniformPolicy is invalid.
See Also:
getUniformPolicy()

getUniformPolicy

public int getUniformPolicy()
Returns whether or not the set of category axis values are forced to be uniform (i.e. the same) between all cells (GraphConstants.TRUE), uniform within the cells of each column (GraphConstants.AUTOMATIC) or not uniform (GraphConstants.FALSE).

Returns:
the category axis uniformity behavior
See Also:
setUniformPolicy(int)

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 vaues 5, 10 and MissingValues.Dot then the resulting graph would display a cateogry 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 attribues (colors, symbols) etc unless the missingResponseEnabled proeprty is set to true. This mechanism may be useful in controling 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)

setInsideBarLabelContent

public void setInsideBarLabelContent(int newContent)
Sets the type of textual information to be displayed inside 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
  • GraphConstants.DATA_LABEL_SUBPERCENT

Parameters:
newContent - the type of information to be displayed inside the bar
Throws:
java.lang.IllegalArgumentException - if an invalid parameter value is specified.
See Also:
getInsideBarLabelContent()

getInsideBarLabelContent

public int getInsideBarLabelContent()
Returns the type of textual information to be displayed inside the bar.

Returns:
the type of textual information to be displayed inside the bar
See Also:
setInsideBarLabelContent(int)

setInsideBarLabelTextStyle

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

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

getInsideBarLabelTextStyle

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

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

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)

setColorPaletteType

public void setColorPaletteType(int newColorPaletteType)
                         throws java.lang.IllegalArgumentException
Sets how the values of a numeric styleBy varaible are mapped to a corresponding color representation.
Valid values are:
  • GraphConstants.COLOR_PALETTE_TWO_COLOR_DISCRETE
  • GraphConstants.COLOR_PALETTE_TWO_COLOR_CONTINUOUS
  • GraphConstants.COLOR_PALETTE_THREE_COLOR_DISCRETE
  • GraphConstants.COLOR_PALETTE_THREE_COLOR_CONTINUOUS (default)
  • 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 breeched. 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 determing 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 symetric 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 gradating 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_SATIN 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)

setConfidenceLimitEnabled

public void setConfidenceLimitEnabled(boolean newConfidenceEnabled)
Sets the confidence limit brackets around the bars.It is based on the values provided as high and low values as a data column.Based on which the brackets appear around the bar. This feature should be used only for the single response.It is applicable only when the user sets the response axis or response2 axis and not both.Confidence limit appearance is not applicable when subgroups and multiple response are applied.The default is set to false.

Parameters:
newConfidenceEnabled - true means to show the confidence brackets around the bars.
See Also:
isConfidenceLimitEnabled()

isConfidenceLimitEnabled

public boolean isConfidenceLimitEnabled()
Returns the graph behavior for displaying confidence limit brackets around the bars.

Returns:
whether or not confidence limit brackets to appear around the bars.
See Also:
setConfidenceLimitEnabled(boolean)



Copyright © 2009 SAS Institute Inc. All Rights Reserved.