org.jfree.data.statistics

## Class SimpleHistogramDataset

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

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 SimpleHistogramDataset
    extends AbstractIntervalXYDataset
    implements IntervalXYDataset, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A dataset used for creating simple histograms with custom defined bins.

See Also:
  `HistogramDataset`, Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`SimpleHistogramDataset(java.lang.Comparable key)` Creates a new histogram dataset.

### Method Summary

Methods
`void` `addBin(SimpleHistogramBin bin)` Adds a bin to the dataset.
`void` `addObservation(double value)` Adds an observation to the dataset (by incrementing the item count for the appropriate bin).
`void` `addObservation(double value, boolean notify)` Adds an observation to the dataset (by incrementing the item count for the appropriate bin).
`void` `addObservations(double[] values)` Adds a set of values to the dataset and sends a `DatasetChangeEvent` to all registered listeners.
`void` `clearObservations()` Removes all current observation data and sends a `DatasetChangeEvent` to all registered listeners.
`java.lang.Object` `clone()` Returns a clone of the dataset.
`boolean` `equals(java.lang.Object obj)` Compares the dataset for equality with an arbitrary object.
`boolean` `getAdjustForBinSize()` Returns a flag that controls whether or not the bin count is divided by the bin size in the `getXValue(int, int)` method.
`DomainOrder` `getDomainOrder()` Returns the order of the domain (or X) values returned by the dataset.
`java.lang.Number` `getEndX(int series, int item)` Returns the ending X value for the specified series and item.
`double` `getEndXValue(int series, int item)` Returns the end x-value (as a double primitive) for an item within a series.
`java.lang.Number` `getEndY(int series, int item)` Returns the ending Y value for the specified series and item.
`double` `getEndYValue(int series, int item)` Returns the end y-value (as a double primitive) for an item within a series.
`int` `getItemCount(int series)` Returns the number of items in a series.
`int` `getSeriesCount()` Returns the number of series in the dataset (always 1 for this dataset).
`java.lang.Comparable` `getSeriesKey(int series)` Returns the key for a series.
`java.lang.Number` `getStartX(int series, int item)` Returns the starting X value for the specified series and item.
`double` `getStartXValue(int series, int item)` Returns the start x-value (as a double primitive) for an item within a series.
`java.lang.Number` `getStartY(int series, int item)` Returns the starting Y value for the specified series and item.
`double` `getStartYValue(int series, int item)` Returns the start y-value (as a double primitive) for an item within a series.
`java.lang.Number` `getX(int series, int item)` Returns the x-value for an item within a series.
`double` `getXValue(int series, int item)` Returns the x-value (as a double primitive) for an item within a series.
`java.lang.Number` `getY(int series, int item)` Returns the y-value for an item within a series.
`double` `getYValue(int series, int item)` Returns the y-value (as a double primitive) for an item within a series.
`void` `removeAllBins()` Removes all bins and sends a `DatasetChangeEvent` to all registered listeners.
`void` `setAdjustForBinSize(boolean adjust)` Sets the flag that controls whether or not the bin count is divided by the bin size in the `getYValue(int, int)` method, and sends a `DatasetChangeEvent` to all registered listeners.

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

`indexOf`

### Methods inherited from interface org.jfree.data.general.Dataset

`addChangeListener, getGroup, removeChangeListener, setGroup`

### Constructor Detail

#### SimpleHistogramDataset

    public SimpleHistogramDataset(java.lang.Comparable key)

Creates a new histogram dataset. Note that the `adjustForBinSize` flag defaults to `true`.

Parameters:
  `key` - the series key (`null` not permitted).

### Method Detail

#### getAdjustForBinSize

    public boolean getAdjustForBinSize()

Returns a flag that controls whether or not the bin count is divided by the bin size in the `getXValue(int, int)` method.

Returns:
  A boolean.
See Also:
  `setAdjustForBinSize(boolean)`

#### setAdjustForBinSize

    public void setAdjustForBinSize(boolean adjust)

Sets the flag that controls whether or not the bin count is divided by the bin size in the `getYValue(int, int)` method, and sends a `DatasetChangeEvent` to all registered listeners.

Parameters:
  `adjust` - the flag.
See Also:
  `getAdjustForBinSize()`

#### getSeriesCount

    public int getSeriesCount()

Returns the number of series in the dataset (always 1 for this 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. Since this dataset only stores a single series, the `series` argument is ignored.

Specified by:
  `getSeriesKey` in interface `SeriesDataset`
Specified by:
  `getSeriesKey` in class `AbstractSeriesDataset`
Parameters:
  `series` - the series (zero-based index, ignored in this dataset).
Returns:
  The key for the series.

#### getDomainOrder

    public DomainOrder getDomainOrder()

Returns the order of the domain (or X) values returned by the dataset.

Specified by:
  `getDomainOrder` in interface `XYDataset`
Overrides:
  `getDomainOrder` in class `AbstractXYDataset`
Returns:
  The order (never `null`).

#### getItemCount

    public int getItemCount(int series)

Returns the number of items in a series. Since this dataset only stores a single series, the `series` argument is ignored.

Specified by:
  `getItemCount` in interface `XYDataset`
Parameters:
  `series` - the series index (zero-based, ignored in this dataset).
Returns:
  The item count.

#### addBin

    public void addBin(SimpleHistogramBin bin)

Adds a bin to the dataset. An exception is thrown if the bin overlaps with any existing bin in the dataset.

Parameters:
  `bin` - the bin (`null` not permitted).
See Also:
  `removeAllBins()`

#### addObservation

    public void addObservation(double value)

Adds an observation to the dataset (by incrementing the item count for the appropriate bin). A runtime exception is thrown if the value does not fit into any bin.

Parameters:
  `value` - the value.

#### addObservation

    public void addObservation(double value,
                      boolean notify)

Adds an observation to the dataset (by incrementing the item count for the appropriate bin). A runtime exception is thrown if the value does not fit into any bin.

Parameters:
  `value` - the value.
  `notify` - send `DatasetChangeEvent` to listeners?

#### addObservations

    public void addObservations(double[] values)

Adds a set of values to the dataset and sends a `DatasetChangeEvent` to all registered listeners.

Parameters:
  `values` - the values (`null` not permitted).
See Also:
  `clearObservations()`

#### clearObservations

    public void clearObservations()

Removes all current observation data and sends a `DatasetChangeEvent` to all registered listeners.

Since:
  1.0.6
See Also:
  `addObservations(double[])`, `removeAllBins()`

#### removeAllBins

    public void removeAllBins()

Removes all bins and sends a `DatasetChangeEvent` to all registered listeners.

Since:
  1.0.6
See Also:
  `addBin(SimpleHistogramBin)`

#### getX

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

Returns the x-value for an item within a series. The x-values may or may not be returned in ascending order, that is up to the class implementing the interface.

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

#### getXValue

    public double getXValue(int series,
                   int item)

Returns the x-value (as a double primitive) for an item within a series.

Specified by:
  `getXValue` in interface `XYDataset`
Overrides:
  `getXValue` in class `AbstractXYDataset`
Parameters:
  `series` - the series index (zero-based).
  `item` - the item index (zero-based).
Returns:
  The x-value.

#### getY

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

Returns the y-value for an item within a series.

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

#### getYValue

    public double getYValue(int series,
                   int item)

Returns the y-value (as a double primitive) for an item within a series.

Specified by:
  `getYValue` in interface `XYDataset`
Overrides:
  `getYValue` in class `AbstractXYDataset`
Parameters:
  `series` - the series index (zero-based).
  `item` - the item index (zero-based).
Returns:
  The y-value.
See Also:
  `getAdjustForBinSize()`

#### getStartX

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

Returns the starting X value for the specified series and item.

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

#### getStartXValue

    public double getStartXValue(int series,
                        int item)

Returns the start x-value (as a double primitive) for an item within a series.

Specified by:
  `getStartXValue` in interface `IntervalXYDataset`
Overrides:
  `getStartXValue` in class `AbstractIntervalXYDataset`
Parameters:
  `series` - the series (zero-based index).
  `item` - the item (zero-based index).
Returns:
  The start x-value.
See Also:
  `IntervalXYDataset.getStartX(int, int)`

#### getEndX

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

Returns the ending X value for the specified series and item.

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

#### getEndXValue

    public double getEndXValue(int series,
                      int item)

Returns the end x-value (as a double primitive) for an item within a series.

Specified by:
  `getEndXValue` in interface `IntervalXYDataset`
Overrides:
  `getEndXValue` in class `AbstractIntervalXYDataset`
Parameters:
  `series` - the series index (zero-based).
  `item` - the item index (zero-based).
Returns:
  The end x-value.
See Also:
  `IntervalXYDataset.getEndX(int, int)`

#### getStartY

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

Returns the starting Y value for the specified series and item.

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

#### getStartYValue

    public double getStartYValue(int series,
                        int item)

Returns the start y-value (as a double primitive) for an item within a series.

Specified by:
  `getStartYValue` in interface `IntervalXYDataset`
Overrides:
  `getStartYValue` in class `AbstractIntervalXYDataset`
Parameters:
  `series` - the series index (zero-based).
  `item` - the item index (zero-based).
Returns:
  The start y-value.
See Also:
  `IntervalXYDataset.getStartY(int, int)`

#### getEndY

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

Returns the ending Y value for the specified series and item.

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

#### getEndYValue

    public double getEndYValue(int series,
                      int item)

Returns the end y-value (as a double primitive) for an item within a series.

Specified by:
  `getEndYValue` in interface `IntervalXYDataset`
Overrides:
  `getEndYValue` in class `AbstractIntervalXYDataset`
Parameters:
  `series` - the series index (zero-based).
  `item` - the item index (zero-based).
Returns:
  The end y-value.
See Also:
  `IntervalXYDataset.getEndY(int, int)`

#### equals

    public boolean equals(java.lang.Object obj)

Compares the dataset for equality with an arbitrary object.

Overrides:
  `equals` in class `java.lang.Object`
Parameters:
  `obj` - the object (`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.
Throws:
  `java.lang.CloneNotSupportedException` - not thrown by this class, but maybe by subclasses (if any).