## org.jfree.data.statistics
Class HistogramDataset

    java.lang.Object
      org.jfree.data.AbstractDataset
          org.jfree.data.AbstractSeriesDataset
              org.jfree.data.AbstractXYDataset
                  org.jfree.data.AbstractIntervalXYDataset
                      org.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.