scichart
Version:
Fast WebGL JavaScript Charting Library and Framework
244 lines (243 loc) • 13.4 kB
TypeScript
import { IBoxPlotDataSeriesOptions } from "../Charting/Model/BoxPlotDataSeries";
import { IHlcScaleOffsetFilterOptions } from "../Charting/Model/Filters/HlcScaleOffsetFilter";
import { IOhlcScaleOffsetFilterOptions } from "../Charting/Model/Filters/OhlcScaleOffsetFilter";
import { IXyFilterOptions } from "../Charting/Model/Filters/XyFilterBase";
import { IXyMovingAverageFilterOptions } from "../Charting/Model/Filters/XyMovingAverageFilter";
import { IXyRatioFilterOptions } from "../Charting/Model/Filters/XyRatioFilter";
import { IXyScaleOffsetFilterOptions } from "../Charting/Model/Filters/XyScaleOffsetFilter";
import { IXyyScaleOffsetFilterOptions } from "../Charting/Model/Filters/XyyScaleOffsetFilter";
import { IXyzScaleOffsetFilterOptions } from "../Charting/Model/Filters/XyzScaleOffsetFilter";
import { IHlcDataSeriesOptions } from "../Charting/Model/HlcDataSeries";
import { EDataSeriesType, IDataSeries } from "../Charting/Model/IDataSeries";
import { INonUniformHeatmapSeriesOptions } from "../Charting/Model/NonUniformHeatmapDataSeries";
import { IOhlcDataSeriesOptions } from "../Charting/Model/OhlcDataSeries";
import { IUniformHeatmapSeriesOptions } from "../Charting/Model/UniformHeatmapDataSeries";
import { IXyDataSeriesOptions } from "../Charting/Model/XyDataSeries";
import { IXyNDataSeriesOptions } from "../Charting/Model/XyNDataSeries";
import { IXyTextDataSeriesOptions } from "../Charting/Model/XyTextDataSeries";
import { IXyxDataSeriesOptions } from "../Charting/Model/XyxDataSeries";
import { IXyxyDataSeriesOptions, XyxyDataSeries } from "../Charting/Model/XyxyDataSeries";
import { IXyyDataSeriesOptions } from "../Charting/Model/XyyDataSeries";
import { IXyzDataSeriesOptions } from "../Charting/Model/XyzDataSeries";
import { EDataSeriesType3D } from "../Charting3D/Model/DataSeries/BaseDataSeries3D";
import { IUniformGridDataSeries3DOptions, UniformGridDataSeries3D } from "../Charting3D/Model/DataSeries/UniformGridDataSeries3D";
import { IXyzDataSeries3DOptions, XyzDataSeries3D } from "../Charting3D/Model/DataSeries/XyzDataSeries3D";
import { EDataFilterType } from "../types/DataFilterType";
import { TSciChart } from "../types/TSciChart";
import { TSciChart3D } from "../types/TSciChart3D";
/**
* Shared data that can be used in {@link ISciChart2DDefinition}
* or directly in {@link chartBuilder.buildSeries} or {@link chartBuilder.buildDataSeries}
*/
export declare type TSharedDataDefinition = Record<number | string, number[]>;
/** Definition of a data filter */
declare type TFilterDefinition = {
type: EDataFilterType.XyLinearTrend;
options?: IXyFilterOptions;
} | {
type: EDataFilterType.XyMovingAverage;
options?: IXyMovingAverageFilterOptions;
} | {
type: EDataFilterType.XyRatio;
options: IXyRatioFilterOptions;
} | {
type: EDataFilterType.XyScaleOffset;
options?: IXyScaleOffsetFilterOptions;
} | {
type: EDataFilterType.XyyScaleOffset;
options?: IXyyScaleOffsetFilterOptions;
} | {
type: EDataFilterType.XyzScaleOffset;
options?: IXyzScaleOffsetFilterOptions;
} | {
type: EDataFilterType.HlcScaleOffset;
options?: IHlcScaleOffsetFilterOptions;
} | {
type: EDataFilterType.OhlcScaleOffset;
options?: IOhlcScaleOffsetFilterOptions;
};
/** Definition of XY data */
export declare type TXySeriesData = {
/** The id of sharedData to use for X data. You must either specify both xDataId and yDataId, or both xValues and yValues */
xDataId?: number | string;
/** The id of sharedData to use for Y data. You must either specify both xDataId and yDataId, or both xValues and yValues */
yDataId?: number | string;
} & IXyDataSeriesOptions & {
filter?: TFilterDefinition;
};
/** Definition of XYXY data */
export declare type TXyxySeriesData = {
/** The id of sharedData to use for X data.
* You must either specify all of xDataId, yDataId, x1DataId and y1DataId, or all of xValues, yValues, x1Values and y1Values
*/
xDataId?: number | string;
/** The id of sharedData to use for Y data.
* You must either specify all of xDataId, yDataId, x1DataId and y1DataId, or all of xValues, yValues, x1Values and y1Values
*/
yDataId?: number | string;
/** The id of sharedData to use for X1 data.
* You must either specify all of xDataId, yDataId, x1DataId and y1DataId, or all of xValues, yValues, x1Values and y1Values
*/
x1DataId?: number | string;
/** The id of sharedData to use for Y1 data.
* You must either specify all of xDataId, yDataId, x1DataId and y1DataId, or all of xValues, yValues, x1Values and y1Values
*/
y1DataId?: number | string;
} & IXyxyDataSeriesOptions;
/** Definition of XYXY data */
export declare type TXyxSeriesData = {
/** The id of sharedData to use for X data.
* You must either specify all of xDataId, yDataId, x1DataId and y1DataId, or all of xValues, yValues, x1Values and y1Values
*/
xDataId?: number | string;
/** The id of sharedData to use for Y data.
* You must either specify all of xDataId, yDataId, x1DataId and y1DataId, or all of xValues, yValues, x1Values and y1Values
*/
yDataId?: number | string;
/** The id of sharedData to use for X1 data.
* You must either specify all of xDataId, yDataId, x1DataId and y1DataId, or all of xValues, yValues, x1Values and y1Values
*/
x1DataId?: number | string;
} & IXyxDataSeriesOptions;
/** Definition of XYN data */
export declare type TXynSeriesData = {
xDataId?: number | string;
yDataIds: Array<number | string>;
} & IXyNDataSeriesOptions;
/** Definition of XYY data */
export declare type TXyySeriesData = {
/** The id of sharedData to use for X data.
* You must either specify all of xDataId, yDataId and y1DataId, or all of xValues, yValues and y1Values
*/
xDataId?: number | string;
/** The id of sharedData to use for Y data.
* You must either specify all of xDataId, yDataId and y1DataId, or all of xValues, yValues and y1Values
*/
yDataId?: number | string;
/** The id of sharedData to use for Y1 data.
* You must either specify all of xDataId, yDataId and y1DataId, or all of xValues, yValues and y1Values
*/
y1DataId?: number | string;
} & IXyyDataSeriesOptions & {
filter?: TFilterDefinition;
};
/** Definition of XYZ data */
export declare type TXyzSeriesData = {
/** The id of sharedData to use for X data.
* You must either specify all of xDataId, yDataId and zDataId, or all of xValues, yValues and zValues
*/
xDataId?: number | string;
/** The id of sharedData to use for Y data.
* You must either specify all of xDataId, yDataId and zDataId, or all of xValues, yValues and zValues
*/
yDataId?: number | string;
/** The id of sharedData to use for Z data.
* You must either specify all of xDataId, yDataId and zDataId, or all of xValues, yValues and zValues
*/
zDataId?: number | string;
} & IXyzDataSeriesOptions & {
filter?: TFilterDefinition;
};
/** Definition of Open, High, Low, Close data */
export declare type TOhlcSeriesData = {
/** The id of sharedData to use for X data. You must either use all DataId or all Values properties. You cannot mix them. */
xDataId?: number | string;
/** The id of sharedData to use for Open data. You must either use all DataId or all Values properties. You cannot mix them. */
openDataId?: number | string;
/** The id of sharedData to use for High data. You must either use all DataId or all Values properties. You cannot mix them. */
highDataId?: number | string;
/** The id of sharedData to use for Low data. You must either use all DataId or all Values properties. You cannot mix them. */
lowDataId?: number | string;
/** The id of sharedData to use for Close data. You must either use all DataId or all Values properties. You cannot mix them. */
closeDataId?: number | string;
} & IOhlcDataSeriesOptions & {
filter?: TFilterDefinition;
};
/** Definition of Open, High, Low, Close data */
export declare type THlcSeriesData = {
/** The id of sharedData to use for X data. You must either use all DataId or all Values properties. You cannot mix them. */
xDataId?: number | string;
/** The id of sharedData to use for High data. You must either use all DataId or all Values properties. You cannot mix them. */
highDataId?: number | string;
/** The id of sharedData to use for Low data. You must either use all DataId or all Values properties. You cannot mix them. */
lowDataId?: number | string;
/** The id of sharedData to use for Close data. You must either use all DataId or all Values properties. You cannot mix them. */
closeDataId?: number | string;
} & IHlcDataSeriesOptions & {
filter?: TFilterDefinition;
};
/** Definition of Box Series data */
export declare type TBoxPlotSeriesData = {
/** The id of sharedData to use for X data. You must either use all DataId or all Values properties. You cannot mix them. */
xDataId?: number | string;
/** The id of sharedData to use for Median data. You must either use all DataId or all Values properties. You cannot mix them. */
medianDataId?: number | string;
/** The id of sharedData to use for Max data. You must either use all DataId or all Values properties. You cannot mix them. */
maxDataId?: number | string;
/** The id of sharedData to use for Upper data. You must either use all DataId or all Values properties. You cannot mix them. */
upperDataId?: number | string;
/** The id of sharedData to use for Lower data. You must either use all DataId or all Values properties. You cannot mix them. */
lowerDataId?: number | string;
/** The id of sharedData to use for Minimun data. You must either use all DataId or all Values properties. You cannot mix them. */
minDataId?: number | string;
} & IBoxPlotDataSeriesOptions & {
filter?: TFilterDefinition;
};
/** Definition of XYText data */
export declare type TXyTextSeriesData = {
/** The id of sharedData to use for X data.
* You must either specify all of xDataId, yDataId and textValues, or all of xValues, yValues and textValues
*/
xDataId?: number | string;
/** The id of sharedData to use for Y data.
* You must either specify all of xDataId, yDataId and textValues, or all of xValues, yValues and textValues
*/
yDataId?: number | string;
} & IXyTextDataSeriesOptions & {
filter?: TFilterDefinition;
};
/** Definition of series data, which can take various shapes */
export declare type TSeriesDataDefinition = TXySeriesData | TXyySeriesData | TXyzSeriesData | XyxyDataSeries | TXynSeriesData | THlcSeriesData | TOhlcSeriesData | TXyTextSeriesData | IUniformHeatmapSeriesOptions | INonUniformHeatmapSeriesOptions;
export declare type TDataSeriesDefinition = {
type: EDataSeriesType;
options: TSeriesDataDefinition;
};
/**
* Build a data series from a definition that can be pure data.
* @param wasmContext A {@link TSciChart | SciChart 2D WebAssembly Context}
* @param definition A {@link TSeriesDefinition}
* @param sharedData Optional {@link TSharedDataDefinition} to define shared data which can be referenced by the data series
* @param originalDataSeries Optional {@Link IDataSeries} to define original data for filter
* @returns An {@link IDataSeries}
*/
export declare const buildDataSeries: (wasmContext: TSciChart, dataSeriesDefinition: TDataSeriesDefinition, sharedData?: TSharedDataDefinition, originalDataSeries?: IDataSeries) => IDataSeries;
/** Definition of XYZ 3D data */
export declare type TXyzSeries3DData = {
/** The id of sharedData to use for X data.
* You must either specify all of xDataId, yDataId and zDataId, or all of xValues, yValues and zValues
*/
xDataId?: number | string;
/** The id of sharedData to use for Y data.
* You must either specify all of xDataId, yDataId and zDataId, or all of xValues, yValues and zValues
*/
yDataId?: number | string;
/** The id of sharedData to use for Z data.
* You must either specify all of xDataId, yDataId and zDataId, or all of xValues, yValues and zValues
*/
zDataId?: number | string;
} & IXyzDataSeries3DOptions;
export declare type TUniformGrid3DData = {} & IUniformGridDataSeries3DOptions;
export declare type TSeriesDataDefinition3D = TXyzSeries3DData | TUniformGrid3DData;
export declare type TDataSeriesDefinition3D = {
type: EDataSeriesType3D;
options: TSeriesDataDefinition3D;
};
/**
* Build a data series from a definition that can be pure data.
* @param wasmContext A {@link TSciChart | SciChart 3D WebAssembly Context}
* @param definition A {@link TSeriesDefinition}
* @param sharedData Optional {@link TSharedDataDefinition} to define shared data which can be referenced by the data series
* @returns An {@link IDataSeries3D}
*/
export declare const buildDataSeries3D: (wasmContext: TSciChart3D, dataSeriesDefinition: TDataSeriesDefinition3D, sharedData?: TSharedDataDefinition) => XyzDataSeries3D | UniformGridDataSeries3D;
export {};