Package org.jfree.data.statistics
Class HistogramDataset
- java.lang.Object
-
- org.jfree.data.general.AbstractDataset
-
- org.jfree.data.general.AbstractSeriesDataset
-
- org.jfree.data.xy.AbstractXYDataset
-
- org.jfree.data.xy.AbstractIntervalXYDataset
-
- org.jfree.data.statistics.HistogramDataset
-
- All Implemented Interfaces:
java.io.ObjectInputValidation,java.io.Serializable,java.lang.Cloneable,java.util.EventListener,PublicCloneable,Dataset,SeriesChangeListener,SeriesDataset,IntervalXYDataset,XYDataset
public class HistogramDataset extends AbstractIntervalXYDataset implements IntervalXYDataset, java.lang.Cloneable, PublicCloneable, java.io.Serializable
A dataset that can be used for creating histograms.- See Also:
SimpleHistogramDataset, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.ListlistA list of maps.private static longserialVersionUIDFor serialization.private HistogramTypetypeThe histogram type.
-
Constructor Summary
Constructors Constructor Description HistogramDataset()Creates a new (empty) dataset with a default type ofHistogramType.FREQUENCY.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddSeries(java.lang.Comparable key, double[] values, int bins)Adds a series to the dataset, using the specified number of bins, and sends aDatasetChangeEventto all registered listeners.voidaddSeries(java.lang.Comparable key, double[] values, int bins, double minimum, double maximum)Adds a series to the dataset.java.lang.Objectclone()Returns a clone of the dataset.booleanequals(java.lang.Object obj)Tests this dataset for equality with an arbitrary object.(package private) java.util.ListgetBins(int series)Returns the bins for a series.private doublegetBinWidth(int series)Returns the bin width for a series.java.lang.NumbergetEndX(int series, int item)Returns the end value for a bin.java.lang.NumbergetEndY(int series, int item)Returns the end y-value for a bin (which is the same as the y-value, this method exists only to support the general form of theIntervalXYDatasetinterface).intgetItemCount(int series)Returns the number of data items for a series.private doublegetMaximum(double[] values)Returns the maximum value in an array of values.private doublegetMinimum(double[] values)Returns the minimum value in an array of values.intgetSeriesCount()Returns the number of series in the dataset.java.lang.ComparablegetSeriesKey(int series)Returns the key for a series.java.lang.NumbergetStartX(int series, int item)Returns the start value for a bin.java.lang.NumbergetStartY(int series, int item)Returns the start y-value for a bin (which is the same as the y-value, this method exists only to support the general form of theIntervalXYDatasetinterface).private intgetTotal(int series)Returns the total number of observations for a series.HistogramTypegetType()Returns the histogram type.java.lang.NumbergetX(int series, int item)Returns the X value for a bin.java.lang.NumbergetY(int series, int item)Returns the y-value for a bin (calculated to take into account the histogram type).voidsetType(HistogramType type)Sets the histogram type and sends aDatasetChangeEventto all registered listeners.-
Methods inherited from class org.jfree.data.xy.AbstractIntervalXYDataset
getEndXValue, getEndYValue, getStartXValue, getStartYValue
-
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.xy.IntervalXYDataset
getEndXValue, getEndYValue, getStartXValue, getStartYValue
-
Methods inherited from interface org.jfree.data.general.SeriesDataset
indexOf
-
Methods inherited from interface org.jfree.data.xy.XYDataset
getDomainOrder, getXValue, getYValue
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
For serialization.- See Also:
- Constant Field Values
-
list
private java.util.List list
A list of maps.
-
type
private HistogramType type
The histogram type.
-
-
Constructor Detail
-
HistogramDataset
public HistogramDataset()
Creates a new (empty) dataset with a default type ofHistogramType.FREQUENCY.
-
-
Method Detail
-
getType
public HistogramType getType()
Returns the histogram type.- Returns:
- The type (never
null).
-
setType
public void setType(HistogramType type)
Sets the histogram type and sends aDatasetChangeEventto all registered listeners.- Parameters:
type- the type (nullnot permitted).
-
addSeries
public void addSeries(java.lang.Comparable key, double[] values, int bins)Adds a series to the dataset, using the specified number of bins, and sends aDatasetChangeEventto all registered listeners.- Parameters:
key- the series key (nullnot permitted).values- the values (nullnot permitted).bins- the number of bins (must be at least 1).
-
addSeries
public void addSeries(java.lang.Comparable key, double[] values, int bins, double minimum, double maximum)Adds a series to the dataset. Any data value less than minimum will be assigned to the first bin, and any data value greater than maximum will be assigned to the last bin. Values falling on the boundary of adjacent bins will be assigned to the higher indexed bin.- Parameters:
key- the series key (nullnot permitted).values- the raw observations.bins- the number of bins (must be at least 1).minimum- the lower bound of the bin range.maximum- the upper bound of the bin range.
-
getMinimum
private double getMinimum(double[] values)
Returns the minimum value in an array of values.- Parameters:
values- the values (nullnot permitted and zero-length array not permitted).- Returns:
- The minimum value.
-
getMaximum
private double getMaximum(double[] values)
Returns the maximum value in an array of values.- Parameters:
values- the values (nullnot permitted and zero-length array not permitted).- Returns:
- The maximum value.
-
getBins
java.util.List getBins(int series)
Returns the bins for a series.- Parameters:
series- the series index (in the range0togetSeriesCount() - 1).- Returns:
- A list of bins.
- Throws:
java.lang.IndexOutOfBoundsException- ifseriesis outside the specified range.
-
getTotal
private int getTotal(int series)
Returns the total number of observations for a series.- Parameters:
series- the series index.- Returns:
- The total.
-
getBinWidth
private double getBinWidth(int series)
Returns the bin width for a series.- Parameters:
series- the series index (zero based).- Returns:
- The bin width.
-
getSeriesCount
public int getSeriesCount()
Returns the number of series in the dataset.- Specified by:
getSeriesCountin interfaceSeriesDataset- Specified by:
getSeriesCountin classAbstractSeriesDataset- Returns:
- The series count.
-
getSeriesKey
public java.lang.Comparable getSeriesKey(int series)
Returns the key for a series.- Specified by:
getSeriesKeyin interfaceSeriesDataset- Specified by:
getSeriesKeyin classAbstractSeriesDataset- Parameters:
series- the series index (in the range0togetSeriesCount() - 1).- Returns:
- The series key.
- Throws:
java.lang.IndexOutOfBoundsException- ifseriesis outside the specified range.
-
getItemCount
public int getItemCount(int series)
Returns the number of data items for a series.- Specified by:
getItemCountin interfaceXYDataset- Parameters:
series- the series index (in the range0togetSeriesCount() - 1).- Returns:
- The item count.
- Throws:
java.lang.IndexOutOfBoundsException- ifseriesis outside the specified range.
-
getX
public java.lang.Number getX(int series, int item)Returns the X value for a bin. This value won't be used for plotting histograms, since the renderer will ignore it. But other renderers can use it (for example, you could use the dataset to create a line chart).
-
getY
public java.lang.Number getY(int series, int item)Returns the y-value for a bin (calculated to take into account the histogram type).
-
getStartX
public java.lang.Number getStartX(int series, int item)Returns the start value for a bin.- Specified by:
getStartXin interfaceIntervalXYDataset- Parameters:
series- the series index (in the range0togetSeriesCount() - 1).item- the item index (zero based).- Returns:
- The start value.
- Throws:
java.lang.IndexOutOfBoundsException- ifseriesis outside the specified range.
-
getEndX
public java.lang.Number getEndX(int series, int item)Returns the end value for a bin.- Specified by:
getEndXin interfaceIntervalXYDataset- Parameters:
series- the series index (in the range0togetSeriesCount() - 1).item- the item index (zero based).- Returns:
- The end value.
- Throws:
java.lang.IndexOutOfBoundsException- ifseriesis outside the specified range.
-
getStartY
public java.lang.Number getStartY(int series, int item)Returns the start y-value for a bin (which is the same as the y-value, this method exists only to support the general form of theIntervalXYDatasetinterface).- Specified by:
getStartYin interfaceIntervalXYDataset- Parameters:
series- the series index (in the range0togetSeriesCount() - 1).item- the item index (zero based).- Returns:
- The y-value.
- Throws:
java.lang.IndexOutOfBoundsException- ifseriesis outside the specified range.
-
getEndY
public java.lang.Number getEndY(int series, int item)Returns the end y-value for a bin (which is the same as the y-value, this method exists only to support the general form of theIntervalXYDatasetinterface).- Specified by:
getEndYin interfaceIntervalXYDataset- Parameters:
series- the series index (in the range0togetSeriesCount() - 1).item- the item index (zero based).- Returns:
- The Y value.
- Throws:
java.lang.IndexOutOfBoundsException- ifseriesis outside the specified 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 to test against (nullpermitted).- Returns:
- A boolean.
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedExceptionReturns a clone of the dataset.- Specified by:
clonein interfacePublicCloneable- Overrides:
clonein classAbstractDataset- Returns:
- A clone of the dataset.
- Throws:
java.lang.CloneNotSupportedException- if the object cannot be cloned.
-
-