Options
All
  • Public
  • Public/Protected
  • All
Menu
summary

XyDataSeries is a DataSeries for holding X, Y data in SciChart's 2D JavaScript Charts

description

The XyDataSeries is primarily used with our JavaScript Line Chart, but can also be used by the JavaScript Scatter Chart or JavaScript Mountain/Area Chart and JavaScript Column Chart.

To instantiate an XyDataSeries, use the following code:

const xyDataSeries = new XyDataSeries(wasmContext);
xyDataSeries.append(1, 2); // Append a single x,y point
xyDataSeries.appendRange([3, 4], [3, 4]); // Append multiple x,y points (faster)
xyDataSeries.insert(0, 9, 10); // Insert a point at index 0
xyDataSeries.update(0, 11, 12); // Update a point at index 0
xyDataSeries.removeAt(0); // Remove a point at index 0
xyDataSeries.clear(); // Clear the dataseries
xyDataSeries.delete(); // Delete the dataseries and native (WebAssembly) memory
remarks

A DataSeries stores the data to render. This is independent from the RenderableSeries which defines how that data should be rendered.

See derived types of BaseDataSeries to find out what data-series are available. See derived types of IRenderableSeries to find out what 2D JavaScript Chart types are available.

Hierarchy

Implements

Index

Constructors

constructor

  • Creates an instance of XyDataSeries

    Parameters

    • webAssemblyContext: TSciChart

      the {@link TSciChart | SciChart WebAssembly Context} containing native methods and access to our underlying WebGL2 WebAssembly rendering engine

    • Optional options: IXyDataSeriesOptions

      the IXyDataSeriesOptions which can be passed to configure the DataSeries at construct time

    Returns XyDataSeries

Properties

Readonly dataChanged

dataChanged: EventHandler<IDataChangeArgs> = new EventHandler<IDataChangeArgs>()

An EventHandler which is raised when the data changes.

remarks

To subscribe to dataChanged, use the following code:

const dataSeries = new XyDataSeries(wasmContext);
const callback = () => {
   // Data has changed
};
dataSeries.dataChanged.subscribe(callback);

To unsubscribe from dataChanged, use the following code:

const dataSeries = new XyDataSeries(wasmContext);
dataSeries.dataChanged.unsubscribe(callback);

Readonly dataDistributionCalculator

dataDistributionCalculator: IDataDistributionCalculator = new DataDistributionCalculator()

Gets the IDataDistributionCalculator instance for this DataSeries. Used when resampling data to determine the correct algorithm

dataIds

dataIds: Record<number | string, number[]>

If set, these will be included in the serialised definition, so that it can be used with sharedData

Readonly id

id: string

A unique Id for the IDataSeries

Protected indexes

indexes: SCRTDoubleVector

Protected isDeleted

isDeleted: boolean

minXSpacing

minXSpacing: number = 0

Readonly type

type: Xy = EDataSeriesType.Xy

Gets the EDataSeriesType type of the DataSeries

Readonly webAssemblyContext

webAssemblyContext: TSciChart

The {@link TSciChart | SciChart WebAssembly Context} containing native methods and access to our WebGL2 Engine

xFinalAnimationValues

xFinalAnimationValues: SCRTDoubleVector

X vector with final animation values

xInitialAnimationValues

xInitialAnimationValues: SCRTDoubleVector

X vector with initial animation values

Protected xValues

xValues: SCRTDoubleVector

yFinalAnimationValues

yFinalAnimationValues: SCRTDoubleVector

Y vector with final animation values

yInitialAnimationValues

yInitialAnimationValues: SCRTDoubleVector

Y vector with initial animation values

Protected yValues

yValues: SCRTDoubleVector

Accessors

changeCount

  • get changeCount(): number
  • Gets the change count for this data series. Allows to indentify when data series was changed

    inheritdoc

    Returns number

containsNaN

  • get containsNaN(): boolean
  • set containsNaN(containsNaN: boolean): void
  • Gets or sets whether the Y data contains NaN values. Set containsNaN = false for the performance optimization when the series has no NaNs

    inheritdoc

    Returns boolean

  • Gets or sets whether the Y data contains NaN values. Set containsNaN = false for the performance optimization when the series has no NaNs

    inheritdoc

    Parameters

    • containsNaN: boolean

    Returns void

dataSeriesName

  • get dataSeriesName(): string
  • set dataSeriesName(dataSeriesName: string): void
  • Gets the DataSeries name. This is used in legend controls and tooltips to identify the series

    inheritdoc

    Returns string

  • Gets the DataSeries name. This is used in legend controls and tooltips to identify the series

    inheritdoc

    Parameters

    • dataSeriesName: string

    Returns void

hasValues

  • get hasValues(): boolean
  • When true, the DataSeries has values, else it is empty

    inheritdoc

    Returns boolean

isEvenlySpaced

  • get isEvenlySpaced(): boolean
  • set isEvenlySpaced(isSorted: boolean): void

isSorted

  • get isSorted(): boolean
  • set isSorted(isSorted: boolean): void
  • Gets or sets whether the X-values are sorted ascending or not. See remarks at IDataSeries.isSorted for further information

    inheritdoc

    Returns boolean

  • Gets or sets whether the X-values are sorted ascending or not. See remarks at IDataSeries.isSorted for further information

    inheritdoc

    Parameters

    • isSorted: boolean

    Returns void

xRange

  • Gets the range in the X-direction for this DataSeries

    inheritdoc

    Returns NumberRange

Methods

append

  • Appends a single X, Y point to the DataSeries

    remarks

    For best performance on drawing large datasets, use the appendRange method

    Any changes of the DataSeries will trigger a redraw on the parent SciChartSurface

    Parameters

    • x: number

      The X-value

    • y: number

      The Y-value

    • Optional metadata: IPointMetadata

      The point metadata

    Returns void

Protected appendMetadata

Protected appendMetadataRange

  • appendMetadataRange(metadata: IPointMetadata[], length: number): void

appendRange

  • Appends a range of X, Y points to the DataSeries

    remarks

    This method is considerably higher performance than append which appends a single point

    Any changes of the DataSeries will trigger a redraw on the parent SciChartSurface

    Parameters

    Returns void

clear

  • clear(): void
  • Clears the entire DataSeries.

    remarks

    Note this does not free memory, WebAssembly/Native memory is released by calling delete, after which the DataSeries is no longer usable.

    Any changes of the DataSeries will trigger a redraw on the parent SciChartSurface

    Returns void

count

  • count(): number
  • Gets the count of data-points in the DataSeries

    Returns number

delete

  • delete(): void
  • Deletes native (WebAssembly) memory used by this type, after which it cannot be used.

    remarks

    Call .delete() before finishing with the object to ensure that WebAssmembly memory leaks do not occur.

    All elements within SciChart's High Performance Realtime JavaScript Charts which implement IDeletable must be deleted manually to free native (WebAssembly) memory

    Returns void

getIndicesRange

  • Gets the integer indices of the XValues array that are currently in the VisibleRange passed in, and an undefined range otherwise.

    Parameters

    • xRange: NumberRange

      The VisibleRange to get the indices range

    • Default value isCategoryData: boolean = false

      If True the renderable series uses CategoryAxis

    • Default value downSearchMode: ESearchMode = ESearchMode.RoundDown

      Specifies the search mode used to look for the index of visibleRange.Min

    • Default value upSearchMode: ESearchMode = ESearchMode.RoundUp

      Specifies the search mode used to look for the index of visibleRange.Max

    Returns NumberRange

    numberRange The indices to the X-Data that are currently in range.

getIsDeleted

  • getIsDeleted(): boolean

getMetadataAt

getMetadataLength

  • getMetadataLength(): number

getNativeIndexes

  • getNativeIndexes(): SCRTDoubleVector

getNativeXValues

  • getNativeXValues(): SCRTDoubleVector

getNativeYValues

  • getNativeYValues(): SCRTDoubleVector

getWindowedYRange

getXRange

Protected getXValues

hasMetadataGenerator

  • hasMetadataGenerator(): boolean

insert

  • insert(startIndex: number, x: number, y: number, metadata?: IPointMetadata): void
  • summary

    Inserts a single X,Y value at the start index

    remarks

    For best performance on drawing large datasets, use the insertRange method

    Any changes of the DataSeries will trigger a redraw on the parent SciChartSurface

    Parameters

    • startIndex: number

      the index to insert at

    • x: number

      the X value

    • y: number

      the Y value

    • Optional metadata: IPointMetadata

      The point metadata

    Returns void

Protected insertMetadata

Protected insertMetadataRange

  • insertMetadataRange(startIndex: number, metadata: IPointMetadata[]): void

insertRange

  • summary

    Inserts a range of X,Y values at the startIndex

    remarks

    Any changes of the DataSeries will trigger a redraw on the parent SciChartSurface

    Parameters

    Returns void

notifyDataChanged

  • notifyDataChanged(changeType: EDataChangeType, index: number, count: number, name?: string): void

removeAt

  • removeAt(index: number): void
  • Removes an X,Y value at the specified index

    remarks

    Any changes of the DataSeries will trigger a redraw on the parent SciChartSurface

    Parameters

    • index: number

      the index to remove at

    Returns void

Protected removeMetadataAt

  • removeMetadataAt(index: number): void

Protected removeMetadataRange

  • removeMetadataRange(startIndex: number, count: number): void

removeRange

  • removeRange(startIndex: number, count: number): void
  • summary

    Removes a range of X,Y values at the specified index

    remarks

    Any changes of the DataSeries will trigger a redraw on the parent SciChartSurface

    Parameters

    • startIndex: number

      the start index to remove at

    • count: number

      the number of points to remove

    Returns void

setFinalAnimationVectors

setInitialAnimationVectors

Protected setMetadata

Protected setMetadataAt

setMetadataGenerator

  • Sets a function that will be used to generate metadata for values when they are appended/inserted, if no explicit metadata is supplied.

    Parameters

    Returns void

toJSON

  • toJSON(excludeData?: boolean): any

update

  • Updates a single Y-value by X-index

    remarks

    Any changes of the DataSeries will trigger a redraw on the parent SciChartSurface

    Parameters

    • index: number

      the index to update

    • y: number

      The new Y value

    • Optional metadata: IPointMetadata

      The point metadata

    Returns void

updateAnimationProperties

  • updateAnimationProperties(progress: number, animation: SeriesAnimation): void

updateXy

  • updateXy(index: number, x: number, y: number, metadata?: IPointMetadata): void
  • Updates a single X, Y-value by X-index. Might also need to set isSorted = false

    remarks

    Any changes of the DataSeries will trigger a redraw on the parent SciChartSurface

    Parameters

    • index: number

      The index to update

    • x: number

      The new X value

    • y: number

      The new Y value

    • Optional metadata: IPointMetadata

      The point metadata

    Returns void

validateAnimationVectors

  • validateAnimationVectors(): void

Protected validateIndex

  • validateIndex(index: number, message?: string): void
  • Parameters

    • index: number
    • Optional message: string

    Returns void

Generated using TypeDoc