| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- import { TransformComponent, Primitive } from '../runtime';
- import { ChannelTypes } from './mark';
- export type Transform = StackYTransform | DodgeXTransform | NormalizeYTransform | StackEnterTransform | JitterTransform | JitterXTransform | SymmetryYTransform | DiffYTransform | SelectTransform | SelectXTransform | SelectYTransform | GroupXTransform | GroupYTransform | GroupColorTransform | SortXTransform | SortYTransform | SortColorTransform | GroupTransform | PackTransform | BinXTransform | BinTransform | SampleTransform | FlexXTransform | FilterTransform;
- export type TransformTypes = 'dodgeX' | 'stackY' | 'normalizeY' | 'stackEnter' | 'jitter' | 'jitterX' | 'symmetryY' | 'diffY' | 'select' | 'selectY' | 'selectX' | 'groupX' | 'groupY' | 'group' | 'groupColor' | 'sortX' | 'sortColor' | 'sortY' | 'flexX' | 'pack' | 'sample' | 'filter' | 'kde' | TransformComponent;
- export type TransformOrder = 'value' | 'sum' | 'series' | 'maxIndex' | string[] | null | ((data: Record<string, Primitive>) => Primitive);
- export type DodgeXTransform = {
- type?: 'dodgeX';
- groupBy?: string | string[];
- reverse?: boolean;
- orderBy?: TransformOrder;
- padding?: number;
- };
- export type StackYTransform = {
- type?: 'stackY';
- groupBy?: string | string[];
- reverse?: boolean;
- orderBy?: TransformOrder;
- y?: 'y' | 'y1';
- y1?: 'y' | 'y1';
- series?: boolean;
- };
- export type NormalizeYTransform = {
- type?: 'normalizeY';
- series?: boolean;
- groupBy?: string | string[];
- basis?: 'deviation' | 'first' | 'last' | 'max' | 'mean' | 'median' | 'min' | 'sum';
- };
- export type JitterTransform = {
- type?: 'jitter';
- padding?: number;
- paddingX?: number;
- paddingY?: number;
- random?: () => number;
- };
- export type JitterXTransform = {
- type?: 'jitterX';
- padding?: number;
- random?: () => number;
- };
- export type StackEnterTransform = {
- type?: 'stackEnter';
- groupBy?: string[] | string;
- orderBy?: string;
- reverse?: boolean;
- duration?: number;
- reducer?: (I: number[], V: any[]) => any;
- };
- export type SymmetryYTransform = {
- type?: 'symmetryY';
- groupBy?: string | string[];
- };
- export type DiffYTransform = {
- type?: 'diffY';
- groupBy?: string | string[];
- series?: boolean;
- };
- export type Selector = 'min' | 'max' | 'first' | 'last' | 'mean' | 'median' | ((I: number[], V: number[]) => number[]);
- export type SelectTransform = {
- type?: 'select';
- groupBy?: string | string[];
- channel?: ChannelTypes;
- selector?: Selector;
- };
- export type SelectXTransform = {
- type?: 'selectX';
- groupBy?: string | string[];
- selector?: Selector;
- };
- export type SelectYTransform = {
- type?: 'selectY';
- groupBy?: string | string[];
- selector?: Selector;
- };
- export type SortColorTransform = {
- type?: 'sortColor';
- reverse?: boolean;
- by?: string;
- slice?: number | [number, number];
- reducer?: 'max' | 'min' | 'sum' | 'first' | 'last' | 'mean' | 'median' | ((I: number[], V: Primitive[]) => Primitive);
- };
- export type SortXTransform = {
- type?: 'sortX';
- reverse?: boolean;
- by?: string;
- slice?: number | [number, number];
- ordinal?: boolean;
- reducer?: 'max' | 'min' | 'sum' | 'first' | 'last' | 'mean' | 'median' | ((I: number[], V: Primitive[]) => Primitive);
- };
- export type SortYTransform = {
- type?: 'sortY';
- reverse?: boolean;
- by?: string;
- slice?: number | [number, number];
- reducer?: 'max' | 'min' | 'sum' | 'first' | 'last' | 'mean' | 'median' | ((I: number[], V: Primitive[]) => Primitive);
- };
- export type FlexXTransform = {
- type?: 'flexX';
- field?: string | ((d: any) => Primitive[]);
- channel?: string;
- reducer?: 'sum' | ((I: number[], V: Primitive[]) => Primitive);
- };
- export type PackTransform = {
- type?: 'pack';
- };
- export type Reducer = 'mean' | 'max' | 'count' | 'min' | 'median' | 'sum' | 'first' | 'last' | ((I: number[], V: Primitive[]) => Primitive);
- export type GroupXTransform = {
- type?: 'groupX';
- } & {
- [key in ChannelTypes]?: Reducer;
- };
- export type GroupYTransform = {
- type?: 'groupY';
- } & {
- [key in ChannelTypes]?: Reducer;
- };
- export type GroupColorTransform = {
- type?: 'groupColor';
- } & {
- [key in ChannelTypes]?: Reducer;
- };
- export type GroupTransform = {
- type?: 'group';
- } & {
- [key in ChannelTypes]?: Reducer;
- };
- export type BinXTransform = {
- type?: 'binX';
- thresholds?: number;
- } & {
- [key in ChannelTypes]?: Reducer;
- };
- export type BinTransform = {
- type?: 'bin';
- thresholdsX?: number;
- thresholdsY?: number;
- } & {
- [key in ChannelTypes]?: Reducer;
- };
- export type SampleFunction = (I: number[], X: number[], Y: number[], thresholds: number) => number[];
- export type SampleTransform = {
- type?: 'sample';
- /**
- * Sample strategy. Default is 'median'.
- */
- strategy?: 'lttb' | 'median' | 'max' | 'min' | 'first' | 'last' | SampleFunction;
- /**
- * The thresholds of sample, when data size great then thresholds, sample will take effect.
- * Default is 2000.
- */
- thresholds?: number;
- /**
- * Group data by fields, for series data.
- */
- groupBy?: string | string[];
- };
- export type FilterTransform = {
- type?: 'filter';
- } & {
- [key in ChannelTypes]?: any[] | ((v: Primitive) => boolean);
- };
|