echarts
Version:
Apache ECharts is a powerful, interactive charting and data visualization library for browser
75 lines (74 loc) • 3.62 kB
TypeScript
import SeriesModel from '../../model/Series.js';
import SeriesData from '../../data/SeriesData.js';
import { SeriesOption, SeriesOnCartesianOptionMixin, SeriesOnGeoOptionMixin, SeriesOnPolarOptionMixin, SeriesOnCalendarOptionMixin, SeriesLargeOptionMixin, LineStyleOption, OptionDataValue, StatesOptionMixin, SeriesLineLabelOption, DimensionDefinitionLoose, DefaultStatesMixinEmphasis, ZRColor, CallbackDataParams } from '../../util/types.js';
import GlobalModel from '../../model/Global.js';
import type { LineDrawModelOption } from '../helper/LineDraw.js';
declare type LinesCoords = number[][];
declare type LinesValue = OptionDataValue | OptionDataValue[];
interface LinesLineStyleOption<TClr> extends LineStyleOption<TClr> {
curveness?: number;
}
interface LinesStatesMixin {
emphasis?: DefaultStatesMixinEmphasis;
}
export interface LinesStateOption<TCbParams = never> {
lineStyle?: LinesLineStyleOption<(TCbParams extends never ? never : (params: TCbParams) => ZRColor) | ZRColor>;
label?: SeriesLineLabelOption;
}
export interface LinesDataItemOption extends LinesStateOption, StatesOptionMixin<LinesStateOption, LinesStatesMixin> {
name?: string;
fromName?: string;
toName?: string;
symbol?: string[] | string;
symbolSize?: number[] | number;
coords?: LinesCoords;
value?: LinesValue;
effect?: LineDrawModelOption['effect'];
}
export interface LinesSeriesOption extends SeriesOption<LinesStateOption, LinesStatesMixin>, LinesStateOption<CallbackDataParams>, SeriesOnCartesianOptionMixin, SeriesOnGeoOptionMixin, SeriesOnPolarOptionMixin, SeriesOnCalendarOptionMixin, SeriesLargeOptionMixin {
type?: 'lines';
coordinateSystem?: string;
symbol?: string[] | string;
symbolSize?: number[] | number;
effect?: LineDrawModelOption['effect'];
/**
* If lines are polyline
* polyline not support curveness, label, animation
*/
polyline?: boolean;
/**
* If clip the overflow.
* Available when coordinateSystem is cartesian or polar.
*/
clip?: boolean;
data?: LinesDataItemOption[] | ArrayLike<number>;
dimensions?: DimensionDefinitionLoose | DimensionDefinitionLoose[];
}
declare class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
static readonly type = "series.lines";
readonly type = "series.lines";
static readonly dependencies: string[];
visualStyleAccessPath: string;
visualDrawType: "stroke";
private _flatCoords;
private _flatCoordsOffset;
init(option: LinesSeriesOption): void;
mergeOption(option: LinesSeriesOption): void;
appendData(params: Pick<LinesSeriesOption, 'data'>): void;
_getCoordsFromItemModel(idx: number): LinesCoords | (LinesDataItemOption & any[]);
getLineCoordsCount(idx: number): number;
getLineCoords(idx: number, out: number[][]): number;
_processFlatCoordsArray(data: LinesSeriesOption['data']): {
flatCoordsOffset: Uint32Array;
flatCoords: Float64Array;
count: number;
};
getInitialData(option: LinesSeriesOption, ecModel: GlobalModel): SeriesData<this, import("../../data/SeriesData").DefaultDataVisual>;
formatTooltip(dataIndex: number, multipleSeries: boolean, dataType: string): string | import("../../component/tooltip/tooltipMarkup").TooltipMarkupNameValueBlock;
preventIncremental(): boolean;
getProgressive(): number | false;
getProgressiveThreshold(): number;
getZLevelKey(): string;
static defaultOption: LinesSeriesOption;
}
export default LinesSeriesModel;