Package org.jfree.data.statistics
Class DefaultBoxAndWhiskerXYDataset
- java.lang.Object
-
- org.jfree.data.general.AbstractDataset
-
- org.jfree.data.general.AbstractSeriesDataset
-
- org.jfree.data.xy.AbstractXYDataset
-
- org.jfree.data.statistics.DefaultBoxAndWhiskerXYDataset
-
- All Implemented Interfaces:
java.io.ObjectInputValidation,java.io.Serializable,java.lang.Cloneable,java.util.EventListener,Dataset,SeriesChangeListener,SeriesDataset,RangeInfo,BoxAndWhiskerXYDataset,XYDataset
public class DefaultBoxAndWhiskerXYDataset extends AbstractXYDataset implements BoxAndWhiskerXYDataset, RangeInfo
A simple implementation of theBoxAndWhiskerXYDatasetinterface. This dataset implementation can hold only one series.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.ListdatesStorage for the dates.private doublefaroutCoefficientThe coefficient used to calculate farouts.private java.util.ListitemsStorage for the box and whisker statistics.private java.lang.NumbermaximumRangeValueThe maximum range value.private java.lang.NumberminimumRangeValueThe minimum range value.private doubleoutlierCoefficientThe coefficient used to calculate outliers.private RangerangeBoundsThe range of values.private java.lang.ComparableseriesKeyThe series key.
-
Constructor Summary
Constructors Constructor Description DefaultBoxAndWhiskerXYDataset(java.lang.Comparable seriesKey)Constructs a new box and whisker dataset.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(java.util.Date date, BoxAndWhiskerItem item)Adds an item to the dataset and sends aDatasetChangeEventto all registered listeners.java.lang.Objectclone()Returns a clone of the plot.booleanequals(java.lang.Object obj)Tests this dataset for equality with an arbitrary object.doublegetFaroutCoefficient()Returns the value used as the farout coefficient.BoxAndWhiskerItemgetItem(int series, int item)Return an item from within the dataset.intgetItemCount(int series)Returns the number of items in the specified series.java.lang.NumbergetMaxOutlier(int series, int item)Returns the maximum value which is not a farout, ie Q3 + (interquartile range * farout coefficient).java.lang.NumbergetMaxRegularValue(int series, int item)Returns the max-value for the specified series and item.java.lang.NumbergetMeanValue(int series, int item)Returns the mean for the specified series and item.java.lang.NumbergetMedianValue(int series, int item)Returns the median-value for the specified series and item.java.lang.NumbergetMinOutlier(int series, int item)Returns the minimum value which is not a farout.java.lang.NumbergetMinRegularValue(int series, int item)Returns the min-value for the specified series and item.doublegetOutlierCoefficient()Returns the value used as the outlier coefficient.java.util.ListgetOutliers(int series, int item)Returns a list of outliers for the specified series and item.java.lang.NumbergetQ1Value(int series, int item)Returns the Q1 median-value for the specified series and item.java.lang.NumbergetQ3Value(int series, int item)Returns the Q3 median-value for the specified series and item.RangegetRangeBounds(boolean includeInterval)Returns the range of the values in this dataset's range.doublegetRangeLowerBound(boolean includeInterval)Returns the minimum y-value in the dataset.doublegetRangeUpperBound(boolean includeInterval)Returns the maximum y-value in the dataset.intgetSeriesCount()Returns the number of series in the dataset.java.lang.ComparablegetSeriesKey(int i)Returns the name of the series stored in this dataset.java.lang.NumbergetX(int series, int item)Returns the x-value for one item in a series.java.util.DategetXDate(int series, int item)Returns the x-value for one item in a series, as a Date.java.lang.NumbergetY(int series, int item)Returns the y-value for one item in a series.voidsetFaroutCoefficient(double faroutCoefficient)Sets the value used as the farouts coefficient.voidsetOutlierCoefficient(double outlierCoefficient)Sets the value used as the outlier coefficient-
Methods inherited from class org.jfree.data.xy.AbstractXYDataset
getDomainOrder, getXValue, getYValue
-
Methods inherited from class org.jfree.data.general.AbstractSeriesDataset
indexOf, seriesChanged
-
Methods inherited from class org.jfree.data.general.AbstractDataset
addChangeListener, canEqual, fireDatasetChanged, getGroup, getNotify, hashCode, hasListener, notifyListeners, removeChangeListener, setGroup, setNotify, validateObject
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jfree.data.general.Dataset
addChangeListener, getGroup, removeChangeListener, setGroup
-
Methods inherited from interface org.jfree.data.general.SeriesDataset
indexOf
-
Methods inherited from interface org.jfree.data.xy.XYDataset
getDomainOrder, getXValue, getYValue
-
-
-
-
Field Detail
-
seriesKey
private java.lang.Comparable seriesKey
The series key.
-
dates
private java.util.List dates
Storage for the dates.
-
items
private java.util.List items
Storage for the box and whisker statistics.
-
minimumRangeValue
private java.lang.Number minimumRangeValue
The minimum range value.
-
maximumRangeValue
private java.lang.Number maximumRangeValue
The maximum range value.
-
rangeBounds
private Range rangeBounds
The range of values.
-
outlierCoefficient
private double outlierCoefficient
The coefficient used to calculate outliers. Tukey's default value is 1.5 (see EDA) Any value which is greater than Q3 + (interquartile range * outlier coefficient) is considered to be an outlier. Can be altered if the data is particularly skewed.
-
faroutCoefficient
private double faroutCoefficient
The coefficient used to calculate farouts. Tukey's default value is 2 (see EDA) Any value which is greater than Q3 + (interquartile range * farout coefficient) is considered to be a farout. Can be altered if the data is particularly skewed.
-
-
Constructor Detail
-
DefaultBoxAndWhiskerXYDataset
public DefaultBoxAndWhiskerXYDataset(java.lang.Comparable seriesKey)
Constructs a new box and whisker dataset.The current implementation allows only one series in the dataset. This may be extended in a future version.
- Parameters:
seriesKey- the key for the series.
-
-
Method Detail
-
getOutlierCoefficient
public double getOutlierCoefficient()
Returns the value used as the outlier coefficient. The outlier coefficient gives an indication of the degree of certainty in an unskewed distribution. Increasing the coefficient increases the number of values included. Currently only used to ensure farout coefficient is greater than the outlier coefficient- Specified by:
getOutlierCoefficientin interfaceBoxAndWhiskerXYDataset- Returns:
- A
doublerepresenting the value used to calculate outliers. - See Also:
setOutlierCoefficient(double)
-
setOutlierCoefficient
public void setOutlierCoefficient(double outlierCoefficient)
Sets the value used as the outlier coefficient- Parameters:
outlierCoefficient- being adoublerepresenting the value used to calculate outliers.- See Also:
getOutlierCoefficient()
-
getFaroutCoefficient
public double getFaroutCoefficient()
Returns the value used as the farout coefficient. The farout coefficient allows the calculation of which values will be off the graph.- Specified by:
getFaroutCoefficientin interfaceBoxAndWhiskerXYDataset- Returns:
- A
doublerepresenting the value used to calculate farouts. - See Also:
setFaroutCoefficient(double)
-
setFaroutCoefficient
public void setFaroutCoefficient(double faroutCoefficient)
Sets the value used as the farouts coefficient. The farout coefficient must b greater than the outlier coefficient.- Parameters:
faroutCoefficient- being adoublerepresenting the value used to calculate farouts.- See Also:
getFaroutCoefficient()
-
getSeriesCount
public int getSeriesCount()
Returns the number of series in the dataset.This implementation only allows one series.
- Specified by:
getSeriesCountin interfaceSeriesDataset- Specified by:
getSeriesCountin classAbstractSeriesDataset- Returns:
- The number of series.
-
getItemCount
public int getItemCount(int series)
Returns the number of items in the specified series.- Specified by:
getItemCountin interfaceXYDataset- Parameters:
series- the index (zero-based) of the series.- Returns:
- The number of items in the specified series.
-
add
public void add(java.util.Date date, BoxAndWhiskerItem item)Adds an item to the dataset and sends aDatasetChangeEventto all registered listeners.- Parameters:
date- the date (nullnot permitted).item- the item (nullnot permitted).
-
getSeriesKey
public java.lang.Comparable getSeriesKey(int i)
Returns the name of the series stored in this dataset.- Specified by:
getSeriesKeyin interfaceSeriesDataset- Specified by:
getSeriesKeyin classAbstractSeriesDataset- Parameters:
i- the index of the series. Currently ignored.- Returns:
- The name of this series.
-
getItem
public BoxAndWhiskerItem getItem(int series, int item)
Return an item from within the dataset.- Parameters:
series- the series index (ignored, since this dataset contains only one series).item- the item within the series (zero-based index)- Returns:
- The item.
-
getX
public java.lang.Number getX(int series, int item)Returns the x-value for one item in a series.The value returned is a Long object generated from the underlying Date object.
-
getXDate
public java.util.Date getXDate(int series, int item)Returns the x-value for one item in a series, as a Date.This method is provided for convenience only.
- Parameters:
series- the series (zero-based index).item- the item (zero-based index).- Returns:
- The x-value as a Date.
-
getY
public java.lang.Number getY(int series, int item)Returns the y-value for one item in a series.This method (from the XYDataset interface) is mapped to the getMeanValue() method.
-
getMeanValue
public java.lang.Number getMeanValue(int series, int item)Returns the mean for the specified series and item.- Specified by:
getMeanValuein interfaceBoxAndWhiskerXYDataset- Parameters:
series- the series (zero-based index).item- the item (zero-based index).- Returns:
- The mean for the specified series and item.
-
getMedianValue
public java.lang.Number getMedianValue(int series, int item)Returns the median-value for the specified series and item.- Specified by:
getMedianValuein interfaceBoxAndWhiskerXYDataset- Parameters:
series- the series (zero-based index).item- the item (zero-based index).- Returns:
- The median-value for the specified series and item.
-
getQ1Value
public java.lang.Number getQ1Value(int series, int item)Returns the Q1 median-value for the specified series and item.- Specified by:
getQ1Valuein interfaceBoxAndWhiskerXYDataset- Parameters:
series- the series (zero-based index).item- the item (zero-based index).- Returns:
- The Q1 median-value for the specified series and item.
-
getQ3Value
public java.lang.Number getQ3Value(int series, int item)Returns the Q3 median-value for the specified series and item.- Specified by:
getQ3Valuein interfaceBoxAndWhiskerXYDataset- Parameters:
series- the series (zero-based index).item- the item (zero-based index).- Returns:
- The Q3 median-value for the specified series and item.
-
getMinRegularValue
public java.lang.Number getMinRegularValue(int series, int item)Returns the min-value for the specified series and item.- Specified by:
getMinRegularValuein interfaceBoxAndWhiskerXYDataset- Parameters:
series- the series (zero-based index).item- the item (zero-based index).- Returns:
- The min-value for the specified series and item.
-
getMaxRegularValue
public java.lang.Number getMaxRegularValue(int series, int item)Returns the max-value for the specified series and item.- Specified by:
getMaxRegularValuein interfaceBoxAndWhiskerXYDataset- Parameters:
series- the series (zero-based index).item- the item (zero-based index).- Returns:
- The max-value for the specified series and item.
-
getMinOutlier
public java.lang.Number getMinOutlier(int series, int item)Returns the minimum value which is not a farout.- Specified by:
getMinOutlierin interfaceBoxAndWhiskerXYDataset- Parameters:
series- the series (zero-based index).item- the item (zero-based index).- Returns:
- A
Numberrepresenting the maximum non-farout value.
-
getMaxOutlier
public java.lang.Number getMaxOutlier(int series, int item)Returns the maximum value which is not a farout, ie Q3 + (interquartile range * farout coefficient).- Specified by:
getMaxOutlierin interfaceBoxAndWhiskerXYDataset- Parameters:
series- the series (zero-based index).item- the item (zero-based index).- Returns:
- A
Numberrepresenting the maximum non-farout value.
-
getOutliers
public java.util.List getOutliers(int series, int item)Returns a list of outliers for the specified series and item.- Specified by:
getOutliersin interfaceBoxAndWhiskerXYDataset- Parameters:
series- the series (zero-based index).item- the item (zero-based index).- Returns:
- The list of outliers for the specified series and item
(possibly
null).
-
getRangeLowerBound
public double getRangeLowerBound(boolean includeInterval)
Returns the minimum y-value in the dataset.- Specified by:
getRangeLowerBoundin interfaceRangeInfo- Parameters:
includeInterval- a flag that determines whether or not the y-interval is taken into account.- Returns:
- The minimum value.
-
getRangeUpperBound
public double getRangeUpperBound(boolean includeInterval)
Returns the maximum y-value in the dataset.- Specified by:
getRangeUpperBoundin interfaceRangeInfo- Parameters:
includeInterval- a flag that determines whether or not the y-interval is taken into account.- Returns:
- The maximum value.
-
getRangeBounds
public Range getRangeBounds(boolean includeInterval)
Returns the range of the values in this dataset's range.- Specified by:
getRangeBoundsin interfaceRangeInfo- Parameters:
includeInterval- a flag that determines whether or not the y-interval is taken into account.- Returns:
- The range.
-
equals
public boolean equals(java.lang.Object obj)
Tests this dataset for equality with an arbitrary object.- Overrides:
equalsin classAbstractDataset- Parameters:
obj- the object (nullpermitted).- Returns:
- A boolean.
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedExceptionReturns a clone of the plot.- Overrides:
clonein classAbstractDataset- Returns:
- A clone.
- Throws:
java.lang.CloneNotSupportedException- if the cloning is not supported.
-
-