UNPKG

scichart

Version:

Fast WebGL JavaScript Charting Library and Framework

194 lines (193 loc) 8.36 kB
import { TLabelProviderDefinition } from "../../../Builder/buildAxis"; import { NumberRange } from "../../../Core/NumberRange"; import { PropertyChangedEventArgs } from "../../../Core/PropertyChangedEventArgs"; import { ESeriesType } from "../../../types/SeriesType"; import { TSciChart } from "../../../types/TSciChart"; import { IPointSeries } from "../../Model/PointSeries/IPointSeries"; import { UniformHeatmapDataSeries } from "../../Model/UniformHeatmapDataSeries"; import { ResamplingParams } from "../../Numerics/Resamplers/ResamplingParams"; import { LabelProviderBase2D } from "../Axis/LabelProvider/LabelProviderBase2D"; import { BaseRenderableSeries } from "./BaseRenderableSeries"; import { IContoursDataLabelProviderOptions } from "./DataLabels/ContoursDataLabelProvider"; import { HeatmapColorMap, IHeatmapColorMapOptions } from "./HeatmapColorMap"; import { IHitTestProvider } from "./HitTest/IHitTestProvider"; import { IBaseRenderableSeriesOptions } from "./IBaseRenderableSeriesOptions"; /** * Optional parameters passed to {@link UniformContoursRenderableSeries} constructor */ export interface IContoursRenderableSeriesOptions extends IBaseRenderableSeriesOptions { /** * The {@link HeatmapColorMap} instance, which maps heatmap z-values to colors * or an {@link IHeatmapColorMapOptions} object which will be used to build a HeatmapColorMap */ colorMap?: HeatmapColorMap | IHeatmapColorMapOptions; /** * The {@link UniformHeatmapDataSeries} instance containing 2-dimensional heatmap data */ dataSeries?: UniformHeatmapDataSeries; /** * The minimum Z value for which contours will be drawn. Defaults to the data z minimum. */ zMin?: number; /** * The maximum Z value for which contours will be drawn. Defaults to the data z maximum. */ zMax?: number; /** * The step on Z, used to calculate spacing between contours. * The first contour draws at minimum Z value if no zOffset is provided */ zStep?: number; /** * The offset of the first contour, can take positive or negative values. * In order to start contours from a value other than minimum Z provide a value, * the contours will start from (minimum Z + zOffset) */ zOffset?: number; /** * The major line style */ majorLineStyle?: TContourLineStyle; /** * The minor line style */ minorLineStyle?: TContourLineStyle; /** * The number of minors per major */ minorsPerMajor?: number; /** * Options to pass to the {@link DataLabelProvider}. Set a style with font and size to enable per-point text for this series. */ dataLabels?: IContoursDataLabelProviderOptions; /** A labelProvider which is called to format zValues when using a cursor modifier */ zLabelProvider?: LabelProviderBase2D | TLabelProviderDefinition; } export interface IContourDrawingParams { xMin: number; xMax: number; yMin: number; yMax: number; zMin: number; zMax: number; zOffset: number; majorStepZ: number; minorStepZ: number; majorLineStyle: TContourLineStyle; minorLineStyle: TContourLineStyle; dataZRange: NumberRange; } /** * A type class to contain information about contour line styles * @remarks * A contour line is drawn using the {@link UniformContoursRenderableSeries} with a 2D array of data * - Set the color as an HTML Color code to define the color * - Set the strokeThickness to change the thickness of the contour line */ export declare type TContourLineStyle = { strokeThickness?: number; color?: string; }; /** @ignore */ export declare const COLOR_MAP_PREFIX = "colorMap."; export declare enum EContourColorMapMode { /** * Applies the Gradient Colors from {@link UniformContoursRenderableSeries} ColorMap individually, * ignoring offsets, e.g. with Gradient Stops Red, Green, Blue then * contour lines will appear Red Green or Blue */ AlternateColors = "AlternateColors", /** * Applies the Gradient Colors from {@link UniformContoursRenderableSeries} ColorMap according to the data on the chart */ GradientColors = "GradientColors" } /** * Defines a JavaScript Uniform Contours series or Contour Lines chart type in SciChart's High Performance Real-time * {@link https://www.scichart.com/javascript-chart-features | JavaScript Charts} * * --- * 📚 Docs: {@link https://www.scichart.com/documentation/js/v4/2d-charts/chart-types/uniform-contours-renderable-series/} */ export declare class UniformContoursRenderableSeries extends BaseRenderableSeries { static readonly DEFAULT_CONTOURS_COUNT: number; static readonly DEFAULT_MAJOR_LINE_STYLE: TContourLineStyle; static readonly DEFAULT_MINOR_LINE_STYLE: TContourLineStyle; readonly type: ESeriesType; private colorMapProperty; private zMinProperty; private zMaxProperty; private zStepProperty; private xOffsetProperty; private colorMapModeProperty; private majorLineStyleProperty; private minorLineStyleProperty; private minorsPerMajorProperty; private zLabelProviderProperty; /** * Creates an instance of the {@link UniformHeatmapRenderableSeries} * @param webAssemblyContext The {@link TSciChart | SciChart WebAssembly Context} containing * native methods and access to our WebGL2 WebAssembly Drawing Engine * @param options optional parameters of type {@link IHeatmapRenderableSeriesOptions} applied when constructing the series type * * --- * 📚 Docs: {@link https://www.scichart.com/documentation/js/v4/2d-charts/chart-types/uniform-contours-renderable-series/} */ constructor(webAssemblyContext: TSciChart, options?: IContoursRenderableSeriesOptions); /** * The minimum Z value for which contours will be drawn. Defaults to the data z minimum. */ get zMin(): number; set zMin(zMin: number); /** * The maximum Z value for which contours will be drawn. Defaults to the data z maximum. */ get zMax(): number; set zMax(zMax: number); /** * Gets of sets the step on Z, used to calculate spacing between contours */ get zStep(): number; set zStep(zStep: number); /** * Gets of sets the offset of the first contour, can take positive or negative values. * The contours will not drawn outsize the zMin, zMax limits. * zOffset larger than zStep will be treated as zOffset mod zStep. * If you want to draw a contour at a specific value, set the zMin and zMax either side of it and use zOffset. * eg to draw a single contour at 10, set zMin = 9, zMax = 11, zOffset = 1 */ get zOffset(): number; set zOffset(value: number); /** * Gets or sets the {@link HeatmapColorMap}, which maps heatmap z-values to colors */ get colorMap(): HeatmapColorMap; /** * Gets or sets the {@link HeatmapColorMap}, which maps heatmap z-values to colors */ set colorMap(colorMap: HeatmapColorMap); get colorMapMode(): EContourColorMapMode; set colorMapMode(colorMapMode: EContourColorMapMode); get zLabelProvider(): LabelProviderBase2D; set zLabelProvider(labelProvider: LabelProviderBase2D); get majorLineStyle(): TContourLineStyle; set majorLineStyle(majorLineStyle: TContourLineStyle); get minorLineStyle(): TContourLineStyle; set minorLineStyle(minorLineStyle: TContourLineStyle); get minorsPerMajor(): number; set minorsPerMajor(minorsPerMajor: number); getContourDrawingParams(): IContourDrawingParams; /** @inheritDoc */ toPointSeries(resamplingParams?: ResamplingParams): IPointSeries; /** @inheritDoc */ delete(): void; /** @inheritDoc */ toJSON(excludeData?: boolean): import("../../..").TSeriesDefinition; /** * Called when a property changes on {@link HeatmapColorMap}, and notifies the parent {@link SciChartSurface} * that a redraw is required. * @param args */ protected colorMapPropertyChanged(args: PropertyChangedEventArgs): void; protected newHitTestProvider(): IHitTestProvider; }