org.jfree.data.statistics
Class HistogramDataset

java.lang.Object
  extended byorg.jfree.data.AbstractDataset
      extended byorg.jfree.data.AbstractSeriesDataset
          extended byorg.jfree.data.AbstractXYDataset
              extended byorg.jfree.data.AbstractIntervalXYDataset
                  extended byorg.jfree.data.statistics.HistogramDataset
All Implemented Interfaces:
java.lang.Cloneable, Dataset, java.util.EventListener, IntervalXYDataset, java.io.ObjectInputValidation, java.io.Serializable, SeriesChangeListener, SeriesDataset, XYDataset

public class HistogramDataset
extends AbstractIntervalXYDataset
implements IntervalXYDataset, java.lang.Cloneable, java.io.Serializable

A dataset that can be used for creating histograms.

See the HistogramDemo.java file in the JFreeChart distribution for an example.

Author:
Jelai Wang, jelaiw AT mindspring.com
See Also:
Serialized Form

Constructor Summary
HistogramDataset()
          Creates a new (empty) dataset with a default type of HistogramType.FREQUENCY.
 
Method Summary
 void addSeries(java.lang.String name, double[] values, int bins)
          Adds a series to the dataset, using the specified number of bins.
 void addSeries(java.lang.String name, double[] values, int bins, double minimum, double maximum)
          Adds a series to the dataset.
 java.lang.Object clone()
          Returns a clone of the dataset.
 boolean equals(java.lang.Object obj)
          Tests this dataset for equality with an arbitrary object.
 java.lang.Number getEndXValue(int series, int item)
          Returns the end value for a bin.
 java.lang.Number getEndYValue(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 the IntervalXYDataset interface).
 int getItemCount(int series)
          Returns the number of data items for a series.
 int getSeriesCount()
          Returns the number of series in the dataset.
 java.lang.String getSeriesName(int series)
          Returns the name for a series.
 java.lang.Number getStartXValue(int series, int item)
          Returns the start value for a bin.
 java.lang.Number getStartYValue(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 the IntervalXYDataset interface).
 HistogramType getType()
          Returns the histogram type.
 java.lang.Number getXValue(int series, int item)
          Returns the X value for a bin.
 java.lang.Number getYValue(int series, int item)
          Returns the y-value for a bin (calculated to take into account the histogram type).
 void setType(HistogramType type)
          Sets the histogram type and sends a DatasetChangeEvent to all registered listeners.
 
Methods inherited from class org.jfree.data.AbstractIntervalXYDataset
getEndX, getEndY, getStartX, getStartY
 
Methods inherited from class org.jfree.data.AbstractXYDataset
getX, getY
 
Methods inherited from class org.jfree.data.AbstractSeriesDataset
seriesChanged
 
Methods inherited from class org.jfree.data.AbstractDataset
addChangeListener, fireDatasetChanged, getGroup, notifyListeners, removeChangeListener, setGroup, validateObject
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jfree.data.IntervalXYDataset
getEndX, getEndY, getStartX, getStartY
 
Methods inherited from interface org.jfree.data.XYDataset
getX, getY
 
Methods inherited from interface org.jfree.data.Dataset
addChangeListener, getGroup, removeChangeListener, setGroup
 

Constructor Detail

HistogramDataset

public HistogramDataset()
Creates a new (empty) dataset with a default type of HistogramType.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 a DatasetChangeEvent to all registered listeners.

Parameters:
type - the type (null not permitted).

addSeries

public void addSeries(java.lang.String name,
                      double[] values,
                      int bins)
Adds a series to the dataset, using the specified number of bins.

Parameters:
name - the series name (null not permitted).
values - the values (null not permitted).
bins - the number of bins (must be at least 1).

addSeries

public void addSeries(java.lang.String name,
                      double[] values,
                      int bins,
                      double minimum,
                      double maximum)
Adds a series to the dataset. Any data value falling on a bin boundary will be assigned to the lower value bin, with the exception of the lower bound of the bin range which is always assigned to the first bin.

Parameters:
name - the series name (null not permitted).
values - the raw observations.
bins - the number of bins.
minimum - the lower bound of the bin range.
maximum - the upper bound of the bin range.

getSeriesCount

public int getSeriesCount()
Returns the number of series in the dataset.

Specified by:
getSeriesCount in interface SeriesDataset
Specified by:
getSeriesCount in class AbstractSeriesDataset
Returns:
The series count.

getSeriesName

public java.lang.String getSeriesName(int series)
Returns the name for a series.

Specified by:
getSeriesName in interface SeriesDataset
Specified by:
getSeriesName in class AbstractSeriesDataset
Parameters:
series - the series index (zero based).
Returns:
The series name.

getItemCount

public int getItemCount(int series)
Returns the number of data items for a series.

Specified by:
getItemCount in interface XYDataset
Parameters:
series - the series index (zero based).
Returns:
the item count.

getXValue

public java.lang.Number getXValue(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).

Specified by:
getXValue in interface XYDataset
Parameters:
series - the series index (zero based).
item - the item index (zero based).
Returns:
The start value.

getYValue

public java.lang.Number getYValue(int series,
                                  int item)
Returns the y-value for a bin (calculated to take into account the histogram type).

Specified by:
getYValue in interface XYDataset
Parameters:
series - the series index (zero based).
item - the item index (zero based).
Returns:
The y-value.

getStartXValue

public java.lang.Number getStartXValue(int series,
                                       int item)
Returns the start value for a bin.

Specified by:
getStartXValue in interface IntervalXYDataset
Parameters:
series - the series index (zero based).
item - the item index (zero based).
Returns:
The start value.

getEndXValue

public java.lang.Number getEndXValue(int series,
                                     int item)
Returns the end value for a bin.

Specified by:
getEndXValue in interface IntervalXYDataset
Parameters:
series - the series index (zero based).
item - the item index (zero based).
Returns:
The end value.

getStartYValue

public java.lang.Number getStartYValue(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 the IntervalXYDataset interface).

Specified by:
getStartYValue in interface IntervalXYDataset
Parameters:
series - the series index (zero based).
item - the item index (zero based).
Returns:
The y-value.

getEndYValue

public java.lang.Number getEndYValue(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 the IntervalXYDataset interface).

Specified by:
getEndYValue in interface IntervalXYDataset
Parameters:
series - the series index (zero based).
item - the item index (zero based).
Returns:
The Y value.

equals

public boolean equals(java.lang.Object obj)
Tests this dataset for equality with an arbitrary object.

Parameters:
obj - the object to test against (null permitted).
Returns:
A boolean.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Returns a clone of the dataset.

Overrides:
clone in class AbstractDataset
Returns:
A clone of the dataset.
Throws:
java.lang.CloneNotSupportedException - if the object cannot be cloned.