import { TextCommonOption, LineStyleOption, OrdinalRawValue, ZRColor, AreaStyleOption, ComponentOption, ColorString, AnimationOptionMixin, Dictionary, ScaleDataValue, CommonAxisPointerOption } from '../util/types.js';
|
export declare const AXIS_TYPES: {
|
readonly value: 1;
|
readonly category: 1;
|
readonly time: 1;
|
readonly log: 1;
|
};
|
export declare type OptionAxisType = keyof typeof AXIS_TYPES;
|
export interface AxisBaseOptionCommon extends ComponentOption, AnimationOptionMixin {
|
type?: OptionAxisType;
|
show?: boolean;
|
inverse?: boolean;
|
name?: string;
|
nameLocation?: 'start' | 'middle' | 'end';
|
nameRotate?: number;
|
nameTruncate?: {
|
maxWidth?: number;
|
ellipsis?: string;
|
placeholder?: string;
|
};
|
nameTextStyle?: AxisNameTextStyleOption;
|
nameGap?: number;
|
silent?: boolean;
|
triggerEvent?: boolean;
|
tooltip?: {
|
show?: boolean;
|
};
|
axisLabel?: AxisLabelBaseOption;
|
axisPointer?: CommonAxisPointerOption;
|
axisLine?: AxisLineOption;
|
axisTick?: AxisTickOption;
|
minorTick?: MinorTickOption;
|
splitLine?: SplitLineOption;
|
minorSplitLine?: MinorSplitLineOption;
|
splitArea?: SplitAreaOption;
|
/**
|
* Min value of the axis. can be:
|
* + ScaleDataValue
|
* + 'dataMin': use the min value in data.
|
* + null/undefined: auto decide min value (consider pretty look and boundaryGap).
|
*/
|
min?: ScaleDataValue | 'dataMin' | ((extent: {
|
min: number;
|
max: number;
|
}) => ScaleDataValue);
|
/**
|
* Max value of the axis. can be:
|
* + ScaleDataValue
|
* + 'dataMax': use the max value in data.
|
* + null/undefined: auto decide max value (consider pretty look and boundaryGap).
|
*/
|
max?: ScaleDataValue | 'dataMax' | ((extent: {
|
min: number;
|
max: number;
|
}) => ScaleDataValue);
|
}
|
export interface NumericAxisBaseOptionCommon extends AxisBaseOptionCommon {
|
boundaryGap?: [number | string, number | string];
|
/**
|
* AxisTick and axisLabel and splitLine are caculated based on splitNumber.
|
*/
|
splitNumber?: number;
|
/**
|
* Interval specifies the span of the ticks is mandatorily.
|
*/
|
interval?: number;
|
/**
|
* Specify min interval when auto calculate tick interval.
|
*/
|
minInterval?: number;
|
/**
|
* Specify max interval when auto calculate tick interval.
|
*/
|
maxInterval?: number;
|
/**
|
* If align ticks to the first axis that is not use alignTicks
|
* If all axes has alignTicks: true. The first one will be applied.
|
*
|
* Will be ignored if interval is set.
|
*/
|
alignTicks?: boolean;
|
}
|
export interface CategoryAxisBaseOption extends AxisBaseOptionCommon {
|
type?: 'category';
|
boundaryGap?: boolean;
|
axisLabel?: AxisLabelOption<'category'> & {
|
interval?: 'auto' | number | ((index: number, value: string) => boolean);
|
};
|
data?: (OrdinalRawValue | {
|
value: OrdinalRawValue;
|
textStyle?: TextCommonOption;
|
})[];
|
deduplication?: boolean;
|
axisTick?: AxisBaseOptionCommon['axisTick'] & {
|
alignWithLabel?: boolean;
|
interval?: 'auto' | number | ((index: number, value: string) => boolean);
|
};
|
}
|
export interface ValueAxisBaseOption extends NumericAxisBaseOptionCommon {
|
type?: 'value';
|
axisLabel?: AxisLabelOption<'value'>;
|
/**
|
* Optional value can be:
|
* + `false`: always include value 0.
|
* + `false`: always include value 0.
|
*/
|
scale?: boolean;
|
}
|
export interface LogAxisBaseOption extends NumericAxisBaseOptionCommon {
|
type?: 'log';
|
axisLabel?: AxisLabelOption<'log'>;
|
logBase?: number;
|
}
|
export interface TimeAxisBaseOption extends NumericAxisBaseOptionCommon {
|
type?: 'time';
|
axisLabel?: AxisLabelOption<'time'>;
|
}
|
interface AxisNameTextStyleOption extends TextCommonOption {
|
rich?: Dictionary<TextCommonOption>;
|
}
|
interface AxisLineOption {
|
show?: boolean | 'auto';
|
onZero?: boolean;
|
onZeroAxisIndex?: number;
|
symbol?: string | [string, string];
|
symbolSize?: number[];
|
symbolOffset?: string | number | (string | number)[];
|
lineStyle?: LineStyleOption;
|
}
|
interface AxisTickOption {
|
show?: boolean | 'auto';
|
inside?: boolean;
|
length?: number;
|
lineStyle?: LineStyleOption;
|
}
|
declare type AxisLabelValueFormatter = (value: number, index: number) => string;
|
declare type AxisLabelCategoryFormatter = (value: string, index: number) => string;
|
declare type TimeAxisLabelUnitFormatter = AxisLabelValueFormatter | string[] | string;
|
export declare type TimeAxisLabelFormatterOption = string | ((value: number, index: number, extra: {
|
level: number;
|
}) => string) | {
|
year?: TimeAxisLabelUnitFormatter;
|
month?: TimeAxisLabelUnitFormatter;
|
week?: TimeAxisLabelUnitFormatter;
|
day?: TimeAxisLabelUnitFormatter;
|
hour?: TimeAxisLabelUnitFormatter;
|
minute?: TimeAxisLabelUnitFormatter;
|
second?: TimeAxisLabelUnitFormatter;
|
millisecond?: TimeAxisLabelUnitFormatter;
|
inherit?: boolean;
|
};
|
declare type LabelFormatters = {
|
value: AxisLabelValueFormatter | string;
|
log: AxisLabelValueFormatter | string;
|
category: AxisLabelCategoryFormatter | string;
|
time: TimeAxisLabelFormatterOption;
|
};
|
interface AxisLabelBaseOption extends Omit<TextCommonOption, 'color'> {
|
show?: boolean;
|
inside?: boolean;
|
rotate?: number;
|
showMinLabel?: boolean;
|
showMaxLabel?: boolean;
|
margin?: number;
|
rich?: Dictionary<TextCommonOption>;
|
/**
|
* If hide overlapping labels.
|
*/
|
hideOverlap?: boolean;
|
color?: ColorString | ((value?: string | number, index?: number) => ColorString);
|
}
|
interface AxisLabelOption<TType extends OptionAxisType> extends AxisLabelBaseOption {
|
formatter?: LabelFormatters[TType];
|
}
|
interface MinorTickOption {
|
show?: boolean;
|
splitNumber?: number;
|
length?: number;
|
lineStyle?: LineStyleOption;
|
}
|
interface SplitLineOption {
|
show?: boolean;
|
interval?: 'auto' | number | ((index: number, value: string) => boolean);
|
lineStyle?: LineStyleOption<ZRColor | ZRColor[]>;
|
}
|
interface MinorSplitLineOption {
|
show?: boolean;
|
lineStyle?: LineStyleOption;
|
}
|
interface SplitAreaOption {
|
show?: boolean;
|
interval?: 'auto' | number | ((index: number, value: string) => boolean);
|
areaStyle?: AreaStyleOption<ZRColor[]>;
|
}
|
export declare type AxisBaseOption = ValueAxisBaseOption | LogAxisBaseOption | CategoryAxisBaseOption | TimeAxisBaseOption | AxisBaseOptionCommon;
|
export {};
|