org.jfree.data.xy

Class XYSeries

public class XYSeries extends Series implements Cloneable, Serializable

Represents a sequence of zero or more data items in the form (x, y). By default, items in the series will be sorted into ascending order by x-value, and duplicate x-values are permitted. Both the sorting and duplicate defaults can be changed in the constructor. Y-values can be null to represent missing values.
Field Summary
protected Listdata
Storage for the data items in the series.
Constructor Summary
XYSeries(Comparable key)
Creates a new empty series.
XYSeries(Comparable key, boolean autoSort)
Constructs a new empty series, with the auto-sort flag set as requested, and duplicate values allowed.
XYSeries(Comparable key, boolean autoSort, boolean allowDuplicateXValues)
Constructs a new xy-series that contains no data.
Method Summary
voidadd(XYDataItem item)
Adds a data item to the series and sends a SeriesChangeEvent to all registered listeners.
voidadd(double x, double y)
Adds a data item to the series and sends a SeriesChangeEvent to all registered listeners.
voidadd(double x, double y, boolean notify)
Adds a data item to the series and, if requested, sends a SeriesChangeEvent to all registered listeners.
voidadd(double x, Number y)
Adds a data item to the series and sends a SeriesChangeEvent to all registered listeners.
voidadd(double x, Number y, boolean notify)
Adds a data item to the series and, if requested, sends a SeriesChangeEvent to all registered listeners.
voidadd(Number x, Number y)
Adds new data to the series and sends a SeriesChangeEvent to all registered listeners.
voidadd(Number x, Number y, boolean notify)
Adds new data to the series and, if requested, sends a SeriesChangeEvent to all registered listeners.
voidadd(XYDataItem item, boolean notify)
Adds a data item to the series and, if requested, sends a SeriesChangeEvent to all registered listeners.
XYDataItemaddOrUpdate(double x, double y)
Adds or updates an item in the series and sends a SeriesChangeEvent to all registered listeners.
XYDataItemaddOrUpdate(Number x, Number y)
Adds or updates an item in the series and sends a SeriesChangeEvent to all registered listeners.
voidclear()
Removes all data items from the series.
Objectclone()
Returns a clone of the series.
XYSeriescreateCopy(int start, int end)
Creates a new series by copying a subset of the data in this time series.
voiddelete(int start, int end)
Deletes a range of items from the series and sends a SeriesChangeEvent to all registered listeners.
booleanequals(Object obj)
Tests this series for equality with an arbitrary object.
booleangetAllowDuplicateXValues()
Returns a flag that controls whether duplicate x-values are allowed.
booleangetAutoSort()
Returns the flag that controls whether the items in the series are automatically sorted.
XYDataItemgetDataItem(int index)
Return the data item with the specified index.
intgetItemCount()
Returns the number of items in the series.
ListgetItems()
Returns the list of data items for the series (the list contains XYDataItem objects and is unmodifiable).
intgetMaximumItemCount()
Returns the maximum number of items that will be retained in the series.
NumbergetX(int index)
Returns the x-value at the specified index.
NumbergetY(int index)
Returns the y-value at the specified index.
inthashCode()
Returns a hash code.
intindexOf(Number x)
Returns the index of the item with the specified x-value, or a negative index if the series does not contain an item with that x-value.
XYDataItemremove(int index)
Removes the item at the specified index and sends a SeriesChangeEvent to all registered listeners.
XYDataItemremove(Number x)
Removes the item with the specified x-value and sends a SeriesChangeEvent to all registered listeners.
voidsetMaximumItemCount(int maximum)
Sets the maximum number of items that will be retained in the series.
double[][]toArray()
Returns a new array containing the x and y values from this series.
voidupdate(int index, Number y)
Updates the value of an item in the series and sends a SeriesChangeEvent to all registered listeners.
voidupdate(Number x, Number y)
Updates an item in the series.
voidupdateByIndex(int index, Number y)
Updates the value of an item in the series and sends a SeriesChangeEvent to all registered listeners.

Field Detail

data

protected List data
Storage for the data items in the series.

Constructor Detail

XYSeries

public XYSeries(Comparable key)
Creates a new empty series. By default, items added to the series will be sorted into ascending order by x-value, and duplicate x-values will be allowed (these defaults can be modified with another constructor.

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

XYSeries

public XYSeries(Comparable key, boolean autoSort)
Constructs a new empty series, with the auto-sort flag set as requested, and duplicate values allowed.

Parameters: key the series key (null not permitted). autoSort a flag that controls whether or not the items in the series are sorted.

XYSeries

public XYSeries(Comparable key, boolean autoSort, boolean allowDuplicateXValues)
Constructs a new xy-series that contains no data. You can specify whether or not duplicate x-values are allowed for the series.

Parameters: key the series key (null not permitted). autoSort a flag that controls whether or not the items in the series are sorted. allowDuplicateXValues a flag that controls whether duplicate x-values are allowed.

Method Detail

add

public void add(XYDataItem item)
Adds a data item to the series and sends a SeriesChangeEvent to all registered listeners.

Parameters: item the (x, y) item (null not permitted).

add

public void add(double x, double y)
Adds a data item to the series and sends a SeriesChangeEvent to all registered listeners.

Parameters: x the x value. y the y value.

add

public void add(double x, double y, boolean notify)
Adds a data item to the series and, if requested, sends a SeriesChangeEvent to all registered listeners.

Parameters: x the x value. y the y value. notify a flag that controls whether or not a SeriesChangeEvent is sent to all registered listeners.

add

public void add(double x, Number y)
Adds a data item to the series and sends a SeriesChangeEvent to all registered listeners. The unusual pairing of parameter types is to make it easier to add null y-values.

Parameters: x the x value. y the y value (null permitted).

add

public void add(double x, Number y, boolean notify)
Adds a data item to the series and, if requested, sends a SeriesChangeEvent to all registered listeners. The unusual pairing of parameter types is to make it easier to add null y-values.

Parameters: x the x value. y the y value (null permitted). notify a flag that controls whether or not a SeriesChangeEvent is sent to all registered listeners.

add

public void add(Number x, Number y)
Adds new data to the series and sends a SeriesChangeEvent to all registered listeners.

Throws an exception if the x-value is a duplicate AND the allowDuplicateXValues flag is false.

Parameters: x the x-value (null not permitted). y the y-value (null permitted).

add

public void add(Number x, Number y, boolean notify)
Adds new data to the series and, if requested, sends a SeriesChangeEvent to all registered listeners.

Throws an exception if the x-value is a duplicate AND the allowDuplicateXValues flag is false.

Parameters: x the x-value (null not permitted). y the y-value (null permitted). notify a flag the controls whether or not a SeriesChangeEvent is sent to all registered listeners.

add

public void add(XYDataItem item, boolean notify)
Adds a data item to the series and, if requested, sends a SeriesChangeEvent to all registered listeners.

Parameters: item the (x, y) item (null not permitted). notify a flag that controls whether or not a SeriesChangeEvent is sent to all registered listeners.

addOrUpdate

public XYDataItem addOrUpdate(double x, double y)
Adds or updates an item in the series and sends a SeriesChangeEvent to all registered listeners.

Parameters: x the x-value. y the y-value.

Returns: The item that was overwritten, if any.

Since: 1.0.10

addOrUpdate

public XYDataItem addOrUpdate(Number x, Number y)
Adds or updates an item in the series and sends a SeriesChangeEvent to all registered listeners.

Parameters: x the x-value (null not permitted). y the y-value (null permitted).

Returns: A copy of the overwritten data item, or null if no item was overwritten.

clear

public void clear()
Removes all data items from the series.

clone

public Object clone()
Returns a clone of the series.

Returns: A clone of the series.

Throws: CloneNotSupportedException if there is a cloning problem.

createCopy

public XYSeries createCopy(int start, int end)
Creates a new series by copying a subset of the data in this time series.

Parameters: start the index of the first item to copy. end the index of the last item to copy.

Returns: A series containing a copy of this series from start until end.

Throws: CloneNotSupportedException if there is a cloning problem.

delete

public void delete(int start, int end)
Deletes a range of items from the series and sends a SeriesChangeEvent to all registered listeners.

Parameters: start the start index (zero-based). end the end index (zero-based).

equals

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

Parameters: obj the object to test against for equality (null permitted).

Returns: A boolean.

getAllowDuplicateXValues

public boolean getAllowDuplicateXValues()
Returns a flag that controls whether duplicate x-values are allowed. This flag can only be set in the constructor.

Returns: A boolean.

getAutoSort

public boolean getAutoSort()
Returns the flag that controls whether the items in the series are automatically sorted. There is no setter for this flag, it must be defined in the series constructor.

Returns: A boolean.

getDataItem

public XYDataItem getDataItem(int index)
Return the data item with the specified index.

Parameters: index the index.

Returns: The data item with the specified index.

getItemCount

public int getItemCount()
Returns the number of items in the series.

Returns: The item count.

getItems

public List getItems()
Returns the list of data items for the series (the list contains XYDataItem objects and is unmodifiable).

Returns: The list of data items.

getMaximumItemCount

public int getMaximumItemCount()
Returns the maximum number of items that will be retained in the series. The default value is Integer.MAX_VALUE.

Returns: The maximum item count.

See Also: XYSeries

getX

public Number getX(int index)
Returns the x-value at the specified index.

Parameters: index the index (zero-based).

Returns: The x-value (never null).

getY

public Number getY(int index)
Returns the y-value at the specified index.

Parameters: index the index (zero-based).

Returns: The y-value (possibly null).

hashCode

public int hashCode()
Returns a hash code.

Returns: A hash code.

indexOf

public int indexOf(Number x)
Returns the index of the item with the specified x-value, or a negative index if the series does not contain an item with that x-value. Be aware that for an unsorted series, the index is found by iterating through all items in the series.

Parameters: x the x-value (null not permitted).

Returns: The index.

remove

public XYDataItem remove(int index)
Removes the item at the specified index and sends a SeriesChangeEvent to all registered listeners.

Parameters: index the index.

Returns: The item removed.

remove

public XYDataItem remove(Number x)
Removes the item with the specified x-value and sends a SeriesChangeEvent to all registered listeners.

Parameters: x the x-value.

Returns: The item removed.

setMaximumItemCount

public void setMaximumItemCount(int maximum)
Sets the maximum number of items that will be retained in the series. If you add a new item to the series such that the number of items will exceed the maximum item count, then the first element in the series is automatically removed, ensuring that the maximum item count is not exceeded.

Typically this value is set before the series is populated with data, but if it is applied later, it may cause some items to be removed from the series (in which case a SeriesChangeEvent will be sent to all registered listeners.

Parameters: maximum the maximum number of items for the series.

toArray

public double[][] toArray()
Returns a new array containing the x and y values from this series.

Returns: A new array containing the x and y values from this series.

Since: 1.0.4

update

public void update(int index, Number y)

Deprecated: Renamed XYSeries to avoid confusion with the XYSeries method.

Updates the value of an item in the series and sends a SeriesChangeEvent to all registered listeners.

Parameters: index the item (zero based index). y the new value (null permitted).

update

public void update(Number x, Number y)
Updates an item in the series.

Parameters: x the x-value (null not permitted). y the y-value (null permitted).

Throws: SeriesException if there is no existing item with the specified x-value.

updateByIndex

public void updateByIndex(int index, Number y)
Updates the value of an item in the series and sends a SeriesChangeEvent to all registered listeners.

Parameters: index the item (zero based index). y the new value (null permitted).

Since: 1.0.1