JMSLTM Numerical Library 6.0

com.imsl.chart
Class BoxPlot

java.lang.Object
  extended by com.imsl.chart.AbstractChartNode
      extended by com.imsl.chart.ChartNode
          extended by com.imsl.chart.Data
              extended by com.imsl.chart.BoxPlot
All Implemented Interfaces:
Serializable, Cloneable

public class BoxPlot
extends Data

Draws a multiple-group Box plot.

For each group of observations, the box limits represent the lower quartile (25th percentile) and upper quartile (75th percentile). The median is displayed as a line across the box. Whiskers are drawn from the upper quartile to the upper adjacent value, and from the lower quartile to the lower adjacent value.

Optional notches may be displayed to show a 95 percent confidence interval about the median, at pm 1.58 mbox{it IRQ} 
  /sqrt{n}, where IRQ is the interquartile range and n is the number of observations. Outside and far outside values may be displayed as symbols. Outside values are outside the inner fence. Far out values are outside the outer fence.

The BoxPlot has several child nodes. Any of these nodes can be disabled by setting their "Paint" attribute to false.

See Also:
Example, Chart Programmer's Guide: Box Plot, Serialized Form

Nested Class Summary
static class BoxPlot.Statistics
          Computes the statistics for one set of observations in a Boxplot.
 
Field Summary
static int BOXPLOT_TYPE_HORIZONTAL
          Value for attribute "BoxPlotType" indicating that this is a horizontal box plot.
static int BOXPLOT_TYPE_VERTICAL
          Value for attribute "BoxPlotType" indicating that this is a horizontal box plot.
 
Fields inherited from class com.imsl.chart.ChartNode
AXIS_X_TOP, AXIS_Y_RIGHT, BAR_TYPE_HORIZONTAL, BAR_TYPE_VERTICAL, DASH_PATTERN_DASH, DASH_PATTERN_DASH_DOT, DASH_PATTERN_DOT, DASH_PATTERN_SOLID, DATA_TYPE_FILL, DATA_TYPE_LINE, DATA_TYPE_MARKER, DATA_TYPE_PICTURE, DATA_TYPE_TUBE, DENDROGRAM_TYPE_HORIZONTAL, DENDROGRAM_TYPE_VERTICAL, FILL_TYPE_GRADIENT, FILL_TYPE_NONE, FILL_TYPE_PAINT, FILL_TYPE_SOLID, LABEL_TYPE_PERCENT, MARKER_TYPE_ASTERISK, MARKER_TYPE_CIRCLE_CIRCLE, MARKER_TYPE_CIRCLE_PLUS, MARKER_TYPE_CIRCLE_X, MARKER_TYPE_DIAMOND_PLUS, MARKER_TYPE_FILLED_CIRCLE, MARKER_TYPE_FILLED_DIAMOND, MARKER_TYPE_FILLED_SQUARE, MARKER_TYPE_FILLED_TRIANGLE, MARKER_TYPE_HOLLOW_CIRCLE, MARKER_TYPE_HOLLOW_DIAMOND, MARKER_TYPE_HOLLOW_SQUARE, MARKER_TYPE_HOLLOW_TRIANGLE, MARKER_TYPE_OCTAGON_PLUS, MARKER_TYPE_OCTAGON_X, MARKER_TYPE_PLUS, MARKER_TYPE_SQUARE_PLUS, MARKER_TYPE_SQUARE_X, MARKER_TYPE_X, TEXT_X_CENTER, TEXT_X_LEFT, TEXT_X_RIGHT, TEXT_Y_BOTTOM, TEXT_Y_CENTER, TEXT_Y_TOP
 
Fields inherited from class com.imsl.chart.AbstractChartNode
AUTOSCALE_DATA, AUTOSCALE_DENSITY, AUTOSCALE_NUMBER, AUTOSCALE_OFF, AUTOSCALE_WINDOW, AXIS_X, AXIS_Y, AXIS_Z, LABEL_TYPE_NONE, LABEL_TYPE_TITLE, LABEL_TYPE_X, LABEL_TYPE_Y, LABEL_TYPE_Z, TRANSFORM_CUSTOM, TRANSFORM_LINEAR, TRANSFORM_LOG
 
Constructor Summary
BoxPlot(AxisXY axis, double[][] obs)
          Constructs a box plot chart.
BoxPlot(AxisXY axis, double[] x, BoxPlot.Statistics[] statistics)
          Constructs a box plot chart node with specified x values.
BoxPlot(AxisXY axis, double[] x, double[][] obs)
          Constructs a box plot chart node with specified x values.
 
Method Summary
 void dataRange(double[] range)
          Update the data range, range = {xmin,xmax,ymin,ymax}.
 ChartNode getBodies()
          Returns a node containing the body elements in the Box plot.
 int getBoxPlotType()
          Returns the value of the "BoxPlotType" attribute.
 ChartNode getFarMarkers()
          Returns the FarMarkers node.
 boolean getNotch()
          Gets the "Notch" attribute value.
 ChartNode getOutsideMarkers()
          Returns the OutsideMarkers node.
 BoxPlot.Statistics[] getStatistics()
          Returns an array of BoxPlot.Statistics objects, one for each set of observations.
 BoxPlot.Statistics getStatistics(int iSet)
          Returns a BoxPlot.Statistics for a set of observations.
 ChartNode getWhiskers()
          Returns the Whiskers node.
 boolean isProportionalWidth()
          Returns the value of the attribute "ProportionalWidth".
 void paint(Draw draw)
          Paints this node and all of its children.
 void setBoxPlotType(int value)
          Sets the "BoxPlotType" attribute value.
 void setLabels(String[] labels)
          Sets up an axis with labels.
 void setLabels(String[] labels, int type)
          Sets up an axis with labels.
 void setNotch(boolean value)
          Sets the attribute "Notch".
 void setProportionalWidth(boolean proportionalWidth)
          Sets the value of the attribute "ProportionalWidth".
 
Methods inherited from class com.imsl.chart.Data
formatLabel
 
Methods inherited from class com.imsl.chart.ChartNode
addPickListener, firePickListeners, getALT, getAxis, getBackground, getBarGap, getBarType, getBarWidth, getChart, getChartTitle, getChildren, getClipData, getComponent, getConcatenatedViewport, getDataType, getDoubleBuffering, getExplode, getFillOutlineColor, getFillOutlineType, getFillPaint, getFillType, getGradient, getHREF, getLegend, getLineDashPattern, getMarkerDashPattern, getMarkerThickness, getMarkerType, getParent, getReference, getScreenAxis, getScreenSize, getScreenViewport, getSize, getSkipWeekends, getTextAngle, getTextColor, getTitle, getToolTip, getViewport, isBitSet, prePaint, removePickListener, setALT, setBarGap, setBarType, setBarWidth, setChartTitle, setClipData, setCustomTransform, setDataType, setDoubleBuffering, setExplode, setFillOutlineColor, setFillOutlineColor, setFillOutlineType, setFillPaint, setFillPaint, setFillPaint, setFillType, setGradient, setGradient, setGradient, setHREF, setImage, setLineDashPattern, setMarkerDashPattern, setMarkerThickness, setMarkerType, setReference, setScreenSize, setSize, setSkipWeekends, setTextAngle, setTextColor, setTextColor, setTitle, setTitle, setToolTip, setViewport, setViewport
 
Methods inherited from class com.imsl.chart.AbstractChartNode
clone, clone, clone, clone, getAbstractParent, getAttribute, getAutoscaleInput, getAutoscaleMinimumTimeInterval, getAutoscaleOutput, getBooleanAttribute, getChildList, getColorAttribute, getCustomTransform, getDensity, getDoubleAttribute, getFillColor, getFont, getFontName, getFontSize, getFontStyle, getImage, getIntegerAttribute, getLabelType, getLightColor, getLineColor, getLineWidth, getLocale, getMarkerColor, getMarkerSize, getName, getNumber, getPaint, getStringAttribute, getTextFormat, getTickLength, getTransform, getX, getY, isAncestorOf, isAttributeSet, isAttributeSetAtThisNode, parseColor, remove, setAttribute, setAutoscaleInput, setAutoscaleMinimumTimeInterval, setAutoscaleOutput, setDensity, setFillColor, setFillColor, setFont, setFontName, setFontSize, setFontStyle, setImage, setLabelType, setLightColor, setLightColor, setLineColor, setLineColor, setLineWidth, setLocale, setMarkerColor, setMarkerColor, setMarkerSize, setName, setNumber, setPaint, setTextFormat, setTextFormat, setTickLength, setTransform, setX, setY, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BOXPLOT_TYPE_HORIZONTAL

public static final int BOXPLOT_TYPE_HORIZONTAL
Value for attribute "BoxPlotType" indicating that this is a horizontal box plot. Used in connection with BoxPlot nodes.

See Also:
Constant Field Values

BOXPLOT_TYPE_VERTICAL

public static final int BOXPLOT_TYPE_VERTICAL
Value for attribute "BoxPlotType" indicating that this is a horizontal box plot. Used in connection with BoxPlot nodes.

See Also:
Constant Field Values
Constructor Detail

BoxPlot

public BoxPlot(AxisXY axis,
               double[][] obs)
Constructs a box plot chart.

Parameters:
axis - an AxisXY object, the parent of this node
obs - a double array which contains the observations. The length of each row in obs must be at least 4.

BoxPlot

public BoxPlot(AxisXY axis,
               double[] x,
               BoxPlot.Statistics[] statistics)
Constructs a box plot chart node with specified x values.

Parameters:
axis - an AxisXY object, the parent of this node
x - a double array which contains the x values
statistics - is an array of BoxPlot.Statistics objects. The number of BoxPlot.Statistics must equal the length of x.

BoxPlot

public BoxPlot(AxisXY axis,
               double[] x,
               double[][] obs)
Constructs a box plot chart node with specified x values.

Parameters:
axis - an AxisXY object, the parent of this node
x - a double array which contains the x values
obs - a double array which contains the observations for each x. The number of rows in obs must equal the length of x. The length of each row in obs must be at least 4.
Method Detail

dataRange

public void dataRange(double[] range)
Update the data range, range = {xmin,xmax,ymin,ymax}. The entries in range are updated to reflect the extent of the data in this node. The argument range is an input/output variable. Its value should be updated only if the data in this node is outside the range already in the array.

Overrides:
dataRange in class Data
Parameters:
range - a double array which contains the updated range, {xmin,xmax,ymin,ymax}

getBodies

public ChartNode getBodies()
Returns a node containing the body elements in the Box plot.

Returns:
a ChartNode containing the bodies.

getBoxPlotType

public int getBoxPlotType()
Returns the value of the "BoxPlotType" attribute.

Returns:
an int which contains the "BoxPlotType". Legal values are BOXPLOT_TYPE_VERTICAL or BOXPLOT_TYPE_HORIZONTAL.
See Also:
BOXPLOT_TYPE_VERTICAL, BOXPLOT_TYPE_HORIZONTAL

getFarMarkers

public ChartNode getFarMarkers()
Returns the FarMarkers node.

Returns:
a ChartNode containing the far markers

getNotch

public boolean getNotch()
Gets the "Notch" attribute value. return a boolean which specifies whether the notches are to be displayed; true if so false otherwise


getOutsideMarkers

public ChartNode getOutsideMarkers()
Returns the OutsideMarkers node.

Returns:
a ChartNode containing the outside markers

getStatistics

public BoxPlot.Statistics[] getStatistics()
Returns an array of BoxPlot.Statistics objects, one for each set of observations.

Returns:
an array of BoxPlot.Statistics objects

getStatistics

public BoxPlot.Statistics getStatistics(int iSet)
Returns a BoxPlot.Statistics for a set of observations.

Parameters:
iSet - an int which specifies the index of a set whose statistics are to be returned
Returns:
a BoxPlot.Statistics object related to the iSet set of observations

getWhiskers

public ChartNode getWhiskers()
Returns the Whiskers node. return a ChartNode containing the whiskers


isProportionalWidth

public boolean isProportionalWidth()
Returns the value of the attribute "ProportionalWidth". The width of the narrowest box is determined by the "MarkerSize" attribute.

Returns:
a boolean which specifies whether the box widths are proportional. If true the box widths are proportional to the square root of the number of observations. If false all of the boxes have the same width.

paint

public void paint(Draw draw)
Paints this node and all of its children. This is normally called only by the paint method in this node's parent.

Overrides:
paint in class Data
Parameters:
draw - the Draw object to be painted

setBoxPlotType

public void setBoxPlotType(int value)
Sets the "BoxPlotType" attribute value.

Parameters:
value - an int which specifies the "BoxPlotType" attribute. Legal values are BOXPLOT_TYPE_VERTICAL or BOXPLOT_TYPE_HORIZONTAL.
See Also:
BOXPLOT_TYPE_VERTICAL, BOXPLOT_TYPE_HORIZONTAL

setLabels

public void setLabels(String[] labels)
Sets up an axis with labels. This turns off the tick marks and sets the "BoxPlotType" attribute. It also turns off autoscaling for the axis and sets its "Window" and "Number" and "Ticks" attribute as appropriate for a labeled Box plot. The existing value of the "BoxPlotType" attribute is used to determine the axis to be modified.

Parameters:
labels - is an array of strings with which to label the axis. The number of labels must equal the number of items.

setLabels

public void setLabels(String[] labels,
                      int type)
Sets up an axis with labels. This turns off the tick marks and sets the "BoxPlotType" attribute. It also turns off autoscaling for the axis and sets its "Window" and "Number" and "Ticks" attribute as appropriate for a labeled Box plot.

Parameters:
labels - an array of Strings with which to label the axis. The number of labels must equal the number of items.
type - an int which specifies the BoxPlotType. Legal values are BOXPLOT_TYPE_VERTICAL or BOXPLOT_TYPE_HORIZONTAL. This determines the axis to be modified.
See Also:
BOXPLOT_TYPE_VERTICAL, BOXPLOT_TYPE_HORIZONTAL

setNotch

public void setNotch(boolean value)
Sets the attribute "Notch".

Parameters:
value - a boolean which specifies whether notches are to be displayed; true if so false otherwise

setProportionalWidth

public void setProportionalWidth(boolean proportionalWidth)
Sets the value of the attribute "ProportionalWidth".

Parameters:
proportionalWidth - a boolean which specifies whether the box widths are to be proportional. Is true if the box widths are to be proportional to the square root of the number of observations. If false all of the boxes have the same width. The default value is false.

JMSLTM Numerical Library 6.0

Copyright © 1970-2009 Visual Numerics, Inc.
Built September 1 2009.