## 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, Dataset, SeriesChangeListener, SeriesDataset, IntervalXYDataset, 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` `getEndX(int series, int item)` Returns the end value for a bin.
`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 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` `getStartX(int series, int item)` Returns the start value for a bin.
`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 the `IntervalXYDataset` interface).
`HistogramType` `getType()` Returns the histogram type.
`java.lang.Number` `getX(int series, int item)` Returns the X value for a bin.
`java.lang.Number` `getY(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.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
`seriesChanged`

Methods inherited from class org.jfree.data.general.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.xy.IntervalXYDataset
`getEndXValue, getEndYValue, getStartXValue, getStartYValue`

Methods inherited from interface org.jfree.data.xy.XYDataset
`getDomainOrder, getXValue, getYValue`

Methods inherited from interface org.jfree.data.general.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.

### 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).

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

### 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).

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

### getStartX

    public java.lang.Number getStartX(int series,
                                      int item)

  Returns the start value for a bin.

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

### getEndX

    public java.lang.Number getEndX(int series,
                                    int item)

  Returns the end value for a bin.

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

### 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 the `IntervalXYDataset` interface).

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

### 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 the `IntervalXYDataset` interface).

  Specified by:
    `getEndY` 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.

  Overrides:
    `equals` in class `java.lang.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.