| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | import { AdjustCfg, Data, Range } from '../interface';export declare type AdjustConstructor = new (cfg: any) => Adjust;export interface DimValuesMapType {    [dim: string]: number[];}export default abstract class Adjust {    /** 参与调整的维度 */    adjustNames: string[];    /** x 维度对应的字段 */    xField: string;    /** y 维度对应的字段 */    yField: string;    /** 调整占单位宽度的比例,例如:占 2 个分类间距的 1 / 2 */    dodgeRatio: number;    /** 调整过程中 2 个数据的间距,以 dodgeRatio 为分母 */    marginRatio: number;    /** 指定进行 dodge 的字段 */    dodgeBy: string;    /** 自定义 offset */    customOffset: ((data: any, range: any) => number) | number;    height: number;    size: number;    reverseOrder: boolean;    /** 像素级组间距 */    intervalPadding: number;    /** 像素级组内间距 */    dodgePadding: number;    /** x维度长度,计算归一化padding使用 */    xDimensionLegenth: number;    /** 分组数 */    groupNum: number;    /** 用户配置宽度 */    defaultSize: number;    /** 最大宽度约束 */    maxColumnWidth: number;    /** 最小宽度约束 */    minColumnWidth: number;    /** 宽度比例 */    columnWidthRatio: number;    /** 用户自定义的dimValuesMap */    dimValuesMap: DimValuesMapType;    constructor(cfg: AdjustCfg & {        dimValuesMap?: DimValuesMapType;    });    abstract process(dataArray: Data[][]): Data[][];    /**     * 查看维度是否是 adjust 字段     * @param dim     */    isAdjust(dim: string): boolean;    protected getAdjustRange(dim: string, dimValue: number, values: number[]): Range;    protected adjustData(groupedDataArray: Data[][], mergedData: Data[]): void;    /**     * 对数据进行分组adjustData     * @param data 数据     * @param dim 分组的字段     * @return 分组结果     */    protected groupData(data: Data[], dim: string): {        [dim: string]: Data[];    };    /** @override */    protected adjustDim(dim: string, values: number[], data: Data[], index?: number): void;    /**     * 获取可调整度量对应的值     * @param mergedData 数据     * @return 值的映射     */    private getDimValues;}
 |