adjust.d.ts 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import { AdjustCfg, Data, Range } from '../interface';
  2. export declare type AdjustConstructor = new (cfg: any) => Adjust;
  3. export interface DimValuesMapType {
  4. [dim: string]: number[];
  5. }
  6. export default abstract class Adjust {
  7. /** 参与调整的维度 */
  8. adjustNames: string[];
  9. /** x 维度对应的字段 */
  10. xField: string;
  11. /** y 维度对应的字段 */
  12. yField: string;
  13. /** 调整占单位宽度的比例,例如:占 2 个分类间距的 1 / 2 */
  14. dodgeRatio: number;
  15. /** 调整过程中 2 个数据的间距,以 dodgeRatio 为分母 */
  16. marginRatio: number;
  17. /** 指定进行 dodge 的字段 */
  18. dodgeBy: string;
  19. /** 自定义 offset */
  20. customOffset: ((data: any, range: any) => number) | number;
  21. height: number;
  22. size: number;
  23. reverseOrder: boolean;
  24. /** 像素级组间距 */
  25. intervalPadding: number;
  26. /** 像素级组内间距 */
  27. dodgePadding: number;
  28. /** x维度长度,计算归一化padding使用 */
  29. xDimensionLegenth: number;
  30. /** 分组数 */
  31. groupNum: number;
  32. /** 用户配置宽度 */
  33. defaultSize: number;
  34. /** 最大宽度约束 */
  35. maxColumnWidth: number;
  36. /** 最小宽度约束 */
  37. minColumnWidth: number;
  38. /** 宽度比例 */
  39. columnWidthRatio: number;
  40. /** 用户自定义的dimValuesMap */
  41. dimValuesMap: DimValuesMapType;
  42. constructor(cfg: AdjustCfg & {
  43. dimValuesMap?: DimValuesMapType;
  44. });
  45. abstract process(dataArray: Data[][]): Data[][];
  46. /**
  47. * 查看维度是否是 adjust 字段
  48. * @param dim
  49. */
  50. isAdjust(dim: string): boolean;
  51. protected getAdjustRange(dim: string, dimValue: number, values: number[]): Range;
  52. protected adjustData(groupedDataArray: Data[][], mergedData: Data[]): void;
  53. /**
  54. * 对数据进行分组adjustData
  55. * @param data 数据
  56. * @param dim 分组的字段
  57. * @return 分组结果
  58. */
  59. protected groupData(data: Data[], dim: string): {
  60. [dim: string]: Data[];
  61. };
  62. /** @override */
  63. protected adjustDim(dim: string, values: number[], data: Data[], index?: number): void;
  64. /**
  65. * 获取可调整度量对应的值
  66. * @param mergedData 数据
  67. * @return 值的映射
  68. */
  69. private getDimValues;
  70. }