## 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, org.jfree.util.PublicCloneable

    public class HistogramDataset

extends AbstractIntervalXYDataset
implements IntervalXYDataset, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A dataset that can be used for creating histograms.

See Also:
  `SimpleHistogramDataset`, Serialized Form

Constructor Summary
`HistogramDataset()` Creates a new (empty) dataset with a default type of `HistogramType`.FREQUENCY.

Method Summary
`void` `addSeries(java.lang.Comparable key, double[] values, int bins)` Adds a series to the dataset, using the specified number of bins.
`void` `addSeries(java.lang.Comparable key, 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.Comparable` `getSeriesKey(int series)` Returns the key 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
`indexOf, seriesChanged`

Methods inherited from class org.jfree.data.general.AbstractDataset
`addChangeListener, fireDatasetChanged, getGroup, hasListener, 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.SeriesDataset
`indexOf`

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.Comparable key,
                          double[] values,
                          int bins)

  Adds a series to the dataset, using the specified number of bins.

  Parameters:
    `key` - the series key (`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.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 (`null` not 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.

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

### getSeriesKey

    public java.lang.Comparable getSeriesKey(int series)

  Returns the key for a series.

  Specified by:
    `getSeriesKey` in interface `SeriesDataset`
  Specified by:
    `getSeriesKey` in class `AbstractSeriesDataset`
  Parameters:
    `series` - the series index (in the range `0` to `getSeriesCount() - 1`).
  Returns:
    The series key.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `series` is outside the specified range.

### 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 (in the range `0` to `getSeriesCount() - 1`).
  Returns:
    The item count.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `series` is 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).

  Specified by:
    `getX` in interface `XYDataset`
  Parameters:
    `series` - the series index (in the range `0` to `getSeriesCount() - 1`).
    `item` - the item index (zero based).
  Returns:
    The start value.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `series` is outside the specified range.

### 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 (in the range `0` to `getSeriesCount() - 1`).
    `item` - the item index (zero based).
  Returns:
    The y-value.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `series` is outside the specified range.

### 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 (in the range `0` to `getSeriesCount() - 1`).
    `item` - the item index (zero based).
  Returns:
    The start value.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `series` is outside the specified range.

### 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 (in the range `0` to `getSeriesCount() - 1`).
    `item` - the item index (zero based).
  Returns:
    The end value.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `series` is 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 the `IntervalXYDataset` interface).

  Specified by:
    `getStartY` in interface `IntervalXYDataset`
  Parameters:
    `series` - the series index (in the range `0` to `getSeriesCount() - 1`).
    `item` - the item index (zero based).
  Returns:
    The y-value.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `series` is 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 the `IntervalXYDataset` interface).

  Specified by:
    `getEndY` in interface `IntervalXYDataset`
  Parameters:
    `series` - the series index (in the range `0` to `getSeriesCount() - 1`).
    `item` - the item index (zero based).
  Returns:
    The Y value.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `series` is outside the specified range.

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

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `AbstractDataset`
  Returns:
    A clone of the dataset.
  Throws:
    `java.lang.CloneNotSupportedException` - if the object cannot be cloned.