echarts
Version:
Apache ECharts is a powerful, interactive charting and data visualization library for browser
107 lines (106 loc) • 4.3 kB
TypeScript
import SeriesModel from '../../model/Series.js';
import Model from '../../model/Model.js';
import { SeriesOption, BoxLayoutOptionMixin, OptionDataValue, SeriesLabelOption, ItemStyleOption, LineStyleOption, LayoutOrient, ColorString, StatesOptionMixin, OptionDataItemObject, GraphEdgeItemObject, OptionDataValueNumeric, DefaultEmphasisFocus, CallbackDataParams } from '../../util/types.js';
import GlobalModel from '../../model/Global.js';
import SeriesData from '../../data/SeriesData.js';
import { LayoutRect } from '../../util/layout.js';
declare type FocusNodeAdjacency = boolean | 'inEdges' | 'outEdges' | 'allEdges';
export interface SankeyNodeStateOption<TCbParams = never> {
label?: SeriesLabelOption;
itemStyle?: ItemStyleOption<TCbParams>;
}
export interface SankeyEdgeStateOption {
lineStyle?: SankeyEdgeStyleOption;
}
interface SankeyBothStateOption<TCbParams> extends SankeyNodeStateOption<TCbParams>, SankeyEdgeStateOption {
}
interface SankeyEdgeStyleOption extends LineStyleOption {
curveness?: number;
}
interface ExtraStateOption {
emphasis?: {
focus?: DefaultEmphasisFocus | 'adjacency' | 'trajectory';
};
}
export interface SankeyNodeItemOption extends SankeyNodeStateOption, StatesOptionMixin<SankeyNodeStateOption, ExtraStateOption>, OptionDataItemObject<OptionDataValue> {
id?: string;
localX?: number;
localY?: number;
depth?: number;
draggable?: boolean;
focusNodeAdjacency?: FocusNodeAdjacency;
}
export interface SankeyEdgeItemOption extends SankeyEdgeStateOption, StatesOptionMixin<SankeyEdgeStateOption, ExtraStateOption>, GraphEdgeItemObject<OptionDataValueNumeric> {
focusNodeAdjacency?: FocusNodeAdjacency;
edgeLabel?: SeriesLabelOption;
}
export interface SankeyLevelOption extends SankeyNodeStateOption, SankeyEdgeStateOption {
depth: number;
}
export interface SankeySeriesOption extends SeriesOption<SankeyBothStateOption<CallbackDataParams>, ExtraStateOption>, SankeyBothStateOption<CallbackDataParams>, BoxLayoutOptionMixin {
type?: 'sankey';
/**
* color will be linear mapped.
*/
color?: ColorString[];
coordinateSystem?: 'view';
orient?: LayoutOrient;
/**
* The width of the node
*/
nodeWidth?: number;
/**
* The vertical distance between two nodes
*/
nodeGap?: number;
/**
* Control if the node can move or not
*/
draggable?: boolean;
/**
* Will be allEdges if true.
* @deprecated
*/
focusNodeAdjacency?: FocusNodeAdjacency;
/**
* The number of iterations to change the position of the node
*/
layoutIterations?: number;
nodeAlign?: 'justify' | 'left' | 'right';
data?: SankeyNodeItemOption[];
nodes?: SankeyNodeItemOption[];
edges?: SankeyEdgeItemOption[];
links?: SankeyEdgeItemOption[];
levels?: SankeyLevelOption[];
edgeLabel?: SeriesLabelOption & {
position?: 'inside';
};
}
declare class SankeySeriesModel extends SeriesModel<SankeySeriesOption> {
static readonly type = "series.sankey";
readonly type = "series.sankey";
levelModels: Model<SankeyLevelOption>[];
layoutInfo: LayoutRect;
/**
* Init a graph data structure from data in option series
*/
getInitialData(option: SankeySeriesOption, ecModel: GlobalModel): SeriesData<Model<any>, import("../../data/SeriesData").DefaultDataVisual>;
setNodePosition(dataIndex: number, localPosition: number[]): void;
/**
* Return the graphic data structure
*
* @return graphic data structure
*/
getGraph(): import("../../data/Graph").default;
/**
* Get edge data of graphic data structure
*
* @return data structure of list
*/
getEdgeData(): SeriesData<Model<any>, import("../../data/SeriesData").DefaultDataVisual>;
formatTooltip(dataIndex: number, multipleSeries: boolean, dataType: 'node' | 'edge'): import("../../component/tooltip/tooltipMarkup").TooltipMarkupNameValueBlock;
optionUpdated(): void;
getDataParams(dataIndex: number, dataType: 'node' | 'edge'): CallbackDataParams;
static defaultOption: SankeySeriesOption;
}
export default SankeySeriesModel;