@antv/adjust
Advanced tools
| export declare const DEFAULT_Y = 0; | ||
| export declare const MARGIN_RATIO: number; | ||
| export declare const DODGE_RATIO: number; | ||
| export declare const GAP = 0.05; |
| export var DEFAULT_Y = 0; // 默认的 y 的值 | ||
| // 偏移之后,间距 | ||
| export var MARGIN_RATIO = 1 / 2; | ||
| export var DODGE_RATIO = 1 / 2; | ||
| // 散点分开之后,距离边界的距离 | ||
| export var GAP = 0.05; | ||
| //# sourceMappingURL=constant.js.map |
| {"version":3,"file":"constant.js","sourceRoot":"","sources":["../src/constant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,SAAS,GAAG,CAAC,CAAC,CAAC,WAAW;AAEvC,UAAU;AACV,MAAM,CAAC,IAAM,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,IAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjC,iBAAiB;AACjB,MAAM,CAAC,IAAM,GAAG,GAAG,IAAI,CAAC"} |
| export declare const DEFAULT_Y = 0; | ||
| export declare const MARGIN_RATIO: number; | ||
| export declare const DODGE_RATIO: number; | ||
| export declare const GAP = 0.05; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DEFAULT_Y = 0; // 默认的 y 的值 | ||
| // 偏移之后,间距 | ||
| exports.MARGIN_RATIO = 1 / 2; | ||
| exports.DODGE_RATIO = 1 / 2; | ||
| // 散点分开之后,距离边界的距离 | ||
| exports.GAP = 0.05; | ||
| //# sourceMappingURL=constant.js.map |
| {"version":3,"file":"constant.js","sourceRoot":"","sources":["../src/constant.ts"],"names":[],"mappings":";;AAAa,QAAA,SAAS,GAAG,CAAC,CAAC,CAAC,WAAW;AAEvC,UAAU;AACG,QAAA,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;AACrB,QAAA,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjC,iBAAiB;AACJ,QAAA,GAAG,GAAG,IAAI,CAAC"} |
+34
-32
@@ -1,37 +0,39 @@ | ||
| import { AdjustCfg, DataPointType, RangeType } from '../interface'; | ||
| import { AdjustCfg, Data, Range } from '../interface'; | ||
| export declare type AdjustConstructor = new (cfg: any) => Adjust; | ||
| export interface DimValuesMapType { | ||
| [dim: string]: number[]; | ||
| [dim: string]: number[]; | ||
| } | ||
| export default abstract class Adjust { | ||
| cfg: AdjustCfg; | ||
| constructor(cfg: AdjustCfg); | ||
| /** | ||
| * 查看维度是否是 adjust 字段 | ||
| * @param dim | ||
| */ | ||
| isAdjust(dim: string): boolean; | ||
| getAdjustRange(dim: string, dimValue: number, values: number[]): RangeType; | ||
| adjustData(groupedDataArray: DataPointType[][], mergedData: DataPointType[]): void; | ||
| /** | ||
| * 对数据进行分组adjustData | ||
| * @param data 数据 | ||
| * @param dim 分组的字段 | ||
| * @return 分组结果 | ||
| */ | ||
| groupData( | ||
| data: DataPointType[], | ||
| dim: string | ||
| ): { | ||
| [dim: string]: DataPointType[]; | ||
| }; | ||
| abstract process(dataArray: DataPointType[][]): DataPointType[][]; | ||
| abstract adjustDim(dim: string, values: number[], data: DataPointType[], length?: number, index?: number): any; | ||
| /** | ||
| * @protected | ||
| * 获取可调整度量对应的值 | ||
| * @param mergedData 数据 | ||
| * @return 值的映射 | ||
| */ | ||
| protected _getDimValues(mergedData: DataPointType[]): DimValuesMapType; | ||
| /** 参与调整的维度 */ | ||
| adjustNames: string[]; | ||
| /** x 维度对应的字段 */ | ||
| readonly xField: string; | ||
| /** y 维度对应的字段 */ | ||
| readonly yField: string; | ||
| constructor(cfg: AdjustCfg); | ||
| 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; | ||
| } |
+13
-14
@@ -1,10 +0,9 @@ | ||
| import * as tslib_1 from "tslib"; | ||
| import * as _ from '@antv/util'; | ||
| var DEFAULT_Y = 0; // 默认的 y 的值 | ||
| import { DEFAULT_Y } from '../constant'; | ||
| var Adjust = /** @class */ (function () { | ||
| function Adjust(cfg) { | ||
| this.cfg = { | ||
| adjustNames: ['x', 'y'], | ||
| }; | ||
| this.cfg = tslib_1.__assign({}, this.cfg, cfg); | ||
| var xField = cfg.xField, yField = cfg.yField, _a = cfg.adjustNames, adjustNames = _a === void 0 ? ['x', 'y'] : _a; | ||
| this.adjustNames = adjustNames; | ||
| this.xField = xField; | ||
| this.yField = yField; | ||
| } | ||
@@ -16,6 +15,6 @@ /** | ||
| Adjust.prototype.isAdjust = function (dim) { | ||
| return this.cfg.adjustNames.indexOf(dim) >= 0; | ||
| return this.adjustNames.indexOf(dim) >= 0; | ||
| }; | ||
| Adjust.prototype.getAdjustRange = function (dim, dimValue, values) { | ||
| var yField = this.cfg.yField; | ||
| var yField = this.yField; | ||
| var index = values.indexOf(dimValue); | ||
@@ -60,3 +59,3 @@ var length = values.length; | ||
| // 所有调整维度的值数组 | ||
| var dimValuesMap = this._getDimValues(mergedData); | ||
| var dimValuesMap = this.getDimValues(mergedData); | ||
| // 按照每一个分组来进行调整 | ||
@@ -68,3 +67,3 @@ _.each(groupedDataArray, function (dataArray, index) { | ||
| // 根据不同的度量分别调整位置 | ||
| _this.adjustDim(dim, values, dataArray, groupedDataArray.length, index); | ||
| _this.adjustDim(dim, values, dataArray, index); | ||
| }); | ||
@@ -89,4 +88,5 @@ }); | ||
| }; | ||
| /** @override */ | ||
| Adjust.prototype.adjustDim = function (dim, values, data, index) { }; | ||
| /** | ||
| * @protected | ||
| * 获取可调整度量对应的值 | ||
@@ -96,4 +96,4 @@ * @param mergedData 数据 | ||
| */ | ||
| Adjust.prototype._getDimValues = function (mergedData) { | ||
| var _a = this.cfg, xField = _a.xField, yField = _a.yField; | ||
| Adjust.prototype.getDimValues = function (mergedData) { | ||
| var _a = this, xField = _a.xField, yField = _a.yField; | ||
| var dimValuesMap = {}; | ||
@@ -110,3 +110,2 @@ // 所有的维度 | ||
| // 在每个维度上,所有的值 | ||
| // @ts-ignore | ||
| dimValuesMap[dim] = _.valuesOfKey(mergedData, dim).sort(function (v1, v2) { return v1 - v2; }); | ||
@@ -113,0 +112,0 @@ }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"adjust.js","sourceRoot":"","sources":["../../src/adjusts/adjust.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"adjust.js","sourceRoot":"","sources":["../../src/adjusts/adjust.ts"],"names":[],"mappings":"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"} |
+15
-12
@@ -1,15 +0,18 @@ | ||
| import { DataPointType, DodgeCfg, RangeType } from '../interface'; | ||
| import { Data, DodgeCfg } from '../interface'; | ||
| import Adjust from './adjust'; | ||
| export default class Dodge extends Adjust { | ||
| cacheMap: { | ||
| [key: string]: any; | ||
| }; | ||
| adjustDataArray: DataPointType[][]; | ||
| mergeData: DataPointType[]; | ||
| cfg: DodgeCfg; | ||
| constructor(cfg: DodgeCfg); | ||
| process(groupDataArray: DataPointType[][]): DataPointType[][]; | ||
| getDodgeOffset(range: RangeType, idx: number, len: number): number; | ||
| getDistribution(dim: string): any; | ||
| adjustDim(dim: string, values: number[], data: DataPointType[], frameCount: number, frameIndex: number): any[]; | ||
| /** 调整占单位宽度的比例,例如:占 2 个分类间距的 1 / 2 */ | ||
| readonly dodgeRatio: number; | ||
| /** 调整过程中 2 个数据的间距,以 dodgeRatio 为分母 */ | ||
| readonly marginRatio: number; | ||
| /** 指定进行 dodge 的字段 */ | ||
| readonly dodgeBy: string; | ||
| private cacheMap; | ||
| private adjustDataArray; | ||
| private mergeData; | ||
| constructor(cfg: DodgeCfg); | ||
| process(groupDataArray: Data[][]): Data[][]; | ||
| protected adjustDim(dim: string, values: number[], data: Data[], frameIndex: number): any[]; | ||
| private getDodgeOffset; | ||
| private getDistribution; | ||
| } |
+34
-45
@@ -1,9 +0,7 @@ | ||
| import * as tslib_1 from "tslib"; | ||
| import { __extends } from "tslib"; | ||
| import * as _ from '@antv/util'; | ||
| import { DODGE_RATIO, MARGIN_RATIO } from '../constant'; | ||
| import Adjust from './adjust'; | ||
| // 偏移之后,间距 | ||
| var MARGIN_RATIO = 1 / 2; | ||
| var DODGE_RATIO = 1 / 2; | ||
| var Dodge = /** @class */ (function (_super) { | ||
| tslib_1.__extends(Dodge, _super); | ||
| __extends(Dodge, _super); | ||
| function Dodge(cfg) { | ||
@@ -14,12 +12,5 @@ var _this = _super.call(this, cfg) || this; | ||
| _this.mergeData = []; | ||
| _this.cfg = { | ||
| adjustNames: ['x', 'y'], | ||
| xField: '', | ||
| yField: '', | ||
| // 调整过程中,2个数据的间距 | ||
| marginRatio: MARGIN_RATIO, | ||
| // 调整占单位宽度的比例,例如:占 2 个分类间距的 1 / 2 | ||
| dodgeRatio: DODGE_RATIO, | ||
| }; | ||
| _this.cfg = tslib_1.__assign({}, _this.cfg, cfg); | ||
| var _a = cfg.marginRatio, marginRatio = _a === void 0 ? MARGIN_RATIO : _a, _b = cfg.dodgeRatio, dodgeRatio = _b === void 0 ? DODGE_RATIO : _b; | ||
| _this.marginRatio = marginRatio; | ||
| _this.dodgeRatio = dodgeRatio; | ||
| return _this; | ||
@@ -31,3 +22,3 @@ } | ||
| var mergeData = _.flatten(groupedDataArray); | ||
| var dodgeBy = this.cfg.dodgeBy; | ||
| var dodgeBy = this.dodgeBy; | ||
| // 如果指定了分组 dim 的字段 | ||
@@ -41,8 +32,32 @@ var adjustDataArray = dodgeBy ? _.group(mergeData, dodgeBy) : groupedDataArray; | ||
| this.mergeData = []; | ||
| // 下面不能注释掉,不然单测报错,我也不知道为啥 todo | ||
| // this.cacheMap = {}; | ||
| return groupedDataArray; | ||
| }; | ||
| Dodge.prototype.adjustDim = function (dim, values, data, frameIndex) { | ||
| var _this = this; | ||
| var map = this.getDistribution(dim); | ||
| var groupData = this.groupData(data, dim); // 根据值分组 | ||
| _.each(groupData, function (group, key) { | ||
| var range; | ||
| // xField 中只有一个值,不需要做 dodge | ||
| if (values.length === 1) { | ||
| range = { | ||
| pre: values[0] - 1, | ||
| next: values[0] + 1, | ||
| }; | ||
| } | ||
| else { | ||
| // 如果有多个,则需要获取调整的范围 | ||
| range = _this.getAdjustRange(dim, parseFloat(key), values); | ||
| } | ||
| _.each(group, function (d) { | ||
| var value = d[dim]; | ||
| var valueArr = map[value]; | ||
| var valIndex = valueArr.indexOf(frameIndex); | ||
| d[dim] = _this.getDodgeOffset(range, valIndex, valueArr.length); | ||
| }); | ||
| }); | ||
| return []; | ||
| }; | ||
| Dodge.prototype.getDodgeOffset = function (range, idx, len) { | ||
| var _a = this.cfg, dodgeRatio = _a.dodgeRatio, marginRatio = _a.marginRatio; | ||
| var _a = this, dodgeRatio = _a.dodgeRatio, marginRatio = _a.marginRatio; | ||
| var pre = range.pre, next = range.next; | ||
@@ -80,28 +95,2 @@ var tickLength = next - pre; | ||
| }; | ||
| Dodge.prototype.adjustDim = function (dim, values, data, frameCount, frameIndex) { | ||
| var _this = this; | ||
| var map = this.getDistribution(dim); | ||
| var groupData = this.groupData(data, dim); // 根据值分组 | ||
| _.each(groupData, function (group, key) { | ||
| var range; | ||
| // xField 中只有一个值,不需要做 dodge | ||
| if (values.length === 1) { | ||
| range = { | ||
| pre: values[0] - 1, | ||
| next: values[0] + 1, | ||
| }; | ||
| } | ||
| else { | ||
| // 如果有多个,则需要获取调整的范围 | ||
| range = _this.getAdjustRange(dim, parseFloat(key), values); | ||
| } | ||
| _.each(group, function (d) { | ||
| var value = d[dim]; | ||
| var valueArr = map[value]; | ||
| var valIndex = valueArr.indexOf(frameIndex); | ||
| d[dim] = _this.getDodgeOffset(range, valIndex, valueArr.length); | ||
| }); | ||
| }); | ||
| return []; | ||
| }; | ||
| return Dodge; | ||
@@ -108,0 +97,0 @@ }(Adjust)); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"dodge.js","sourceRoot":"","sources":["../../src/adjusts/dodge.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"dodge.js","sourceRoot":"","sources":["../../src/adjusts/dodge.ts"],"names":[],"mappings":"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"} |
+11
-14
@@ -1,17 +0,14 @@ | ||
| import { DataPointType, JitterCfg, RangeType } from '../interface'; | ||
| import { Data } from '../interface'; | ||
| import Adjust from './adjust'; | ||
| export default class Jitter extends Adjust { | ||
| cfg: JitterCfg; | ||
| constructor(cfg: JitterCfg); | ||
| process(groupDataArray: DataPointType[][]): DataPointType[][]; | ||
| randomNumber(min: number, max: number): number; | ||
| getAdjustOffset(range: RangeType): number; | ||
| _adjustGroup(group: DataPointType[], dim: string, dimValue: number, values: number[]): DataPointType[]; | ||
| /** | ||
| * 当前数据分组(index)中,按照维度 dim 进行 jitter 调整 | ||
| * @param dim | ||
| * @param values | ||
| * @param dataArray | ||
| */ | ||
| adjustDim(dim: string, values: number[], dataArray: DataPointType[]): void; | ||
| process(groupDataArray: Data[][]): Data[][]; | ||
| /** | ||
| * 当前数据分组(index)中,按照维度 dim 进行 jitter 调整 | ||
| * @param dim | ||
| * @param values | ||
| * @param dataArray | ||
| */ | ||
| protected adjustDim(dim: string, values: number[], dataArray: Data[]): void; | ||
| private getAdjustOffset; | ||
| private adjustGroup; | ||
| } |
+23
-35
@@ -1,17 +0,12 @@ | ||
| import * as tslib_1 from "tslib"; | ||
| import { __extends } from "tslib"; | ||
| import * as _ from '@antv/util'; | ||
| import { GAP } from '../constant'; | ||
| import Adjust from './adjust'; | ||
| // 散点分开之后,距离边界的距离 | ||
| var GAP = 0.05; | ||
| function randomNumber(min, max) { | ||
| return (max - min) * Math.random() + min; | ||
| } | ||
| var Jitter = /** @class */ (function (_super) { | ||
| tslib_1.__extends(Jitter, _super); | ||
| function Jitter(cfg) { | ||
| var _this = _super.call(this, cfg) || this; | ||
| _this.cfg = { | ||
| adjustNames: ['x', 'y'], | ||
| xField: '', | ||
| yField: '', | ||
| }; | ||
| _this.cfg = tslib_1.__assign({}, _this.cfg, cfg); | ||
| return _this; | ||
| __extends(Jitter, _super); | ||
| function Jitter() { | ||
| return _super !== null && _super.apply(this, arguments) || this; | ||
| } | ||
@@ -26,4 +21,15 @@ Jitter.prototype.process = function (groupDataArray) { | ||
| }; | ||
| Jitter.prototype.randomNumber = function (min, max) { | ||
| return (max - min) * Math.random() + min; | ||
| /** | ||
| * 当前数据分组(index)中,按照维度 dim 进行 jitter 调整 | ||
| * @param dim | ||
| * @param values | ||
| * @param dataArray | ||
| */ | ||
| Jitter.prototype.adjustDim = function (dim, values, dataArray) { | ||
| var _this = this; | ||
| // 在每一个分组中,将数据再按照 dim 分组,用于散列 | ||
| var groupDataArray = this.groupData(dataArray, dim); | ||
| return _.each(groupDataArray, function (data, dimValue) { | ||
| return _this.adjustGroup(data, dim, parseFloat(dimValue), values); | ||
| }); | ||
| }; | ||
@@ -35,6 +41,6 @@ // 随机出来的字段值 | ||
| var margin = (next - pre) * GAP; | ||
| return this.randomNumber(pre + margin, next - margin); | ||
| return randomNumber(pre + margin, next - margin); | ||
| }; | ||
| // adjust group data | ||
| Jitter.prototype._adjustGroup = function (group, dim, dimValue, values) { | ||
| Jitter.prototype.adjustGroup = function (group, dim, dimValue, values) { | ||
| var _this = this; | ||
@@ -44,6 +50,2 @@ // 调整范围 | ||
| _.each(group, function (data) { | ||
| // return { | ||
| // ...data, | ||
| // [dim]: this.getAdjustOffset(range); // 获取调整的位置 | ||
| // } | ||
| data[dim] = _this.getAdjustOffset(range); // 获取调整的位置 | ||
@@ -53,16 +55,2 @@ }); | ||
| }; | ||
| /** | ||
| * 当前数据分组(index)中,按照维度 dim 进行 jitter 调整 | ||
| * @param dim | ||
| * @param values | ||
| * @param dataArray | ||
| */ | ||
| Jitter.prototype.adjustDim = function (dim, values, dataArray) { | ||
| var _this = this; | ||
| // 在每一个分组中,将数据再按照 dim 分组,用于散列 | ||
| var groupDataArray = this.groupData(dataArray, dim); | ||
| return _.each(groupDataArray, function (da, dimValue) { | ||
| return _this._adjustGroup(da, dim, parseFloat(dimValue), values); | ||
| }); | ||
| }; | ||
| return Jitter; | ||
@@ -69,0 +57,0 @@ }(Adjust)); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"jitter.js","sourceRoot":"","sources":["../../src/adjusts/jitter.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,iBAAiB;AACjB,IAAM,GAAG,GAAG,IAAI,CAAC;AAEjB;IAAoC,kCAAM;IAOxC,gBAAY,GAAc;QAA1B,YACE,kBAAM,GAAG,CAAC,SAMX;QAbM,SAAG,GAAc;YACtB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;YACvB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACX,CAAC;QAKA,KAAI,CAAC,GAAG,wBACH,KAAI,CAAC,GAAG,EACR,GAAG,CACP,CAAC;;IACJ,CAAC;IAEM,wBAAO,GAAd,UAAe,cAAiC;QAC9C,IAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjD,mCAAmC;QACnC,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAoB,CAAC;QAEjE,MAAM;QACN,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAE7C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEM,6BAAY,GAAnB,UAAoB,GAAW,EAAE,GAAW;QAC1C,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;IAC3C,CAAC;IAED,WAAW;IACJ,gCAAe,GAAtB,UAAuB,KAAgB;QAC7B,IAAA,eAAG,EAAE,iBAAI,CAAW;QAC5B,QAAQ;QACR,IAAM,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,oBAAoB;IACb,6BAAY,GAAnB,UAAoB,KAAsB,EAAE,GAAW,EAAE,QAAgB,EAAE,MAAgB;QAA3F,iBAYC;QAXC,OAAO;QACP,IAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEzD,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAC,IAAmB;YAChC,WAAW;YACX,aAAa;YACb,mDAAmD;YACnD,IAAI;YACJ,IAAI,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;QACrD,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACI,0BAAS,GAAhB,UAAiB,GAAW,EAAE,MAAgB,EAAE,SAA0B;QAA1E,iBAMC;QALC,6BAA6B;QAC7B,IAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,UAAC,EAAmB,EAAE,QAAgB;YAClE,OAAO,KAAI,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IACH,aAAC;AAAD,CAAC,AApED,CAAoC,MAAM,GAoEzC"} | ||
| {"version":3,"file":"jitter.js","sourceRoot":"","sources":["../../src/adjusts/jitter.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,SAAS,YAAY,CAAC,GAAW,EAAE,GAAW;IAC5C,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AAC3C,CAAC;AAED;IAAoC,0BAAM;IAA1C;;IA6CA,CAAC;IA5CQ,wBAAO,GAAd,UAAe,cAAwB;QACrC,IAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjD,mCAAmC;QACnC,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAW,CAAC;QAExD,MAAM;QACN,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAE7C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACO,0BAAS,GAAnB,UAAoB,GAAW,EAAE,MAAgB,EAAE,SAAiB;QAApE,iBAMC;QALC,6BAA6B;QAC7B,IAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,UAAC,IAAY,EAAE,QAAgB;YAC3D,OAAO,KAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;IACH,gCAAe,GAAvB,UAAwB,KAAY;QAC1B,IAAA,eAAG,EAAE,iBAAI,CAAW;QAC5B,QAAQ;QACR,IAAM,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAClC,OAAO,YAAY,CAAC,GAAG,GAAG,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,oBAAoB;IACZ,4BAAW,GAAnB,UAAoB,KAAa,EAAE,GAAW,EAAE,QAAgB,EAAE,MAAgB;QAAlF,iBAQC;QAPC,OAAO;QACP,IAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEzD,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAC,IAAU;YACvB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;QACrD,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IACH,aAAC;AAAD,CAAC,AA7CD,CAAoC,MAAM,GA6CzC"} |
+13
-12
@@ -1,15 +0,16 @@ | ||
| import { DataPointType, StackCfg } from '../interface'; | ||
| import { Data, StackCfg } from '../interface'; | ||
| import Adjust from './adjust'; | ||
| export default class Stack extends Adjust { | ||
| cfg: StackCfg; | ||
| constructor(cfg: StackCfg); | ||
| _reverse(groupedDataArray: DataPointType[][]): DataPointType[][]; | ||
| /** | ||
| * 方法入参是经过数据分组、数据数字化之后的二维数组 | ||
| * @param groupDataArray 分组之后的数据 | ||
| */ | ||
| process(groupDataArray: DataPointType[][]): DataPointType[][]; | ||
| processStack(groupDataArray: DataPointType[][]): DataPointType[][]; | ||
| processOneDimStack(groupDataArray: DataPointType[][]): DataPointType[][]; | ||
| adjustDim(dim: string, values: number[], data: object[]): void; | ||
| readonly height: number; | ||
| readonly size: number; | ||
| readonly reverseOrder: boolean; | ||
| constructor(cfg: StackCfg); | ||
| /** | ||
| * 方法入参是经过数据分组、数据数字化之后的二维数组 | ||
| * @param groupDataArray 分组之后的数据 | ||
| */ | ||
| process(groupDataArray: Data[][]): Data[][]; | ||
| private reverse; | ||
| private processStack; | ||
| private processOneDimStack; | ||
| } |
+20
-29
@@ -1,2 +0,2 @@ | ||
| import * as tslib_1 from "tslib"; | ||
| import { __assign, __extends } from "tslib"; | ||
| import * as _ from '@antv/util'; | ||
@@ -6,19 +6,12 @@ import Adjust from './adjust'; | ||
| var Stack = /** @class */ (function (_super) { | ||
| tslib_1.__extends(Stack, _super); | ||
| __extends(Stack, _super); | ||
| function Stack(cfg) { | ||
| var _this = _super.call(this, cfg) || this; | ||
| _this.cfg = { | ||
| adjustNames: ['y'], | ||
| xField: '', | ||
| yField: '', | ||
| height: NaN, | ||
| size: 10, | ||
| reverseOrder: false, | ||
| }; | ||
| _this.cfg = tslib_1.__assign({}, _this.cfg, cfg); | ||
| var _a = cfg.adjustNames, adjustNames = _a === void 0 ? ['y'] : _a, _b = cfg.height, height = _b === void 0 ? NaN : _b, _c = cfg.size, size = _c === void 0 ? 10 : _c, _d = cfg.reverseOrder, reverseOrder = _d === void 0 ? false : _d; | ||
| _this.adjustNames = adjustNames; | ||
| _this.height = height; | ||
| _this.size = size; | ||
| _this.reverseOrder = reverseOrder; | ||
| return _this; | ||
| } | ||
| Stack.prototype._reverse = function (groupedDataArray) { | ||
| return groupedDataArray.slice(0).reverse(); | ||
| }; | ||
| /** | ||
@@ -29,12 +22,15 @@ * 方法入参是经过数据分组、数据数字化之后的二维数组 | ||
| Stack.prototype.process = function (groupDataArray) { | ||
| var _a = this.cfg, yField = _a.yField, reverseOrder = _a.reverseOrder; | ||
| var _a = this, yField = _a.yField, reverseOrder = _a.reverseOrder; | ||
| // 如果有指定 y 字段,那么按照 y 字段来 stack | ||
| // 否则,按照高度均分 | ||
| var d = yField ? this.processStack(groupDataArray) : this.processOneDimStack(groupDataArray); | ||
| return reverseOrder ? this._reverse(d) : d; | ||
| return reverseOrder ? this.reverse(d) : d; | ||
| }; | ||
| Stack.prototype.reverse = function (groupedDataArray) { | ||
| return groupedDataArray.slice(0).reverse(); | ||
| }; | ||
| Stack.prototype.processStack = function (groupDataArray) { | ||
| var _a = this.cfg, xField = _a.xField, yField = _a.yField, reverseOrder = _a.reverseOrder; | ||
| var _a = this, xField = _a.xField, yField = _a.yField, reverseOrder = _a.reverseOrder; | ||
| // 层叠顺序翻转 | ||
| var groupedDataArray = reverseOrder ? this._reverse(groupDataArray) : groupDataArray; | ||
| var groupedDataArray = reverseOrder ? this.reverse(groupDataArray) : groupDataArray; | ||
| // 用来缓存,正数和负数的堆叠问题 | ||
@@ -60,3 +56,3 @@ var positive = new Cache(); | ||
| cache.set(xKey, newXValue); | ||
| return tslib_1.__assign({}, data, (_a = {}, _a[yField] = [xValue, newXValue], _a)); | ||
| return __assign(__assign({}, data), (_a = {}, _a[yField] = [xValue, newXValue], _a)); | ||
| } | ||
@@ -68,11 +64,8 @@ // 没有修改,则直接返回 | ||
| }; | ||
| // todo 不明白画出来是什么含义 | ||
| Stack.prototype.processOneDimStack = function (groupDataArray) { | ||
| var _this = this; | ||
| var _a = this.cfg, xField = _a.xField, height = _a.height, reverseOrder = _a.reverseOrder; | ||
| var yField = this.cfg.yField; | ||
| // todo processOneDimStack 必然是 yField 不存在 | ||
| yField = 'y'; | ||
| var _a = this, xField = _a.xField, height = _a.height, reverseOrder = _a.reverseOrder; | ||
| var yField = 'y'; | ||
| // 如果层叠的顺序翻转 | ||
| var groupedDataArray = reverseOrder ? this._reverse(groupDataArray) : groupDataArray; | ||
| var groupedDataArray = reverseOrder ? this.reverse(groupDataArray) : groupDataArray; | ||
| // 缓存累加数据 | ||
@@ -83,3 +76,3 @@ var cache = new Cache(); | ||
| var _a; | ||
| var size = _this.cfg.size; | ||
| var size = _this.size; | ||
| var xValue = data[xField]; | ||
@@ -94,8 +87,6 @@ // todo 没有看到这个 stack 计算原理 | ||
| cache.set(xValue, stackValue + stackHeight); | ||
| return tslib_1.__assign({}, data, (_a = {}, _a[yField] = stackValue, _a)); | ||
| return __assign(__assign({}, data), (_a = {}, _a[yField] = stackValue, _a)); | ||
| }); | ||
| }); | ||
| }; | ||
| // 没有用到,空实现 | ||
| Stack.prototype.adjustDim = function (dim, values, data) { }; | ||
| return Stack; | ||
@@ -102,0 +93,0 @@ }(Adjust)); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../src/adjusts/stack.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../src/adjusts/stack.ts"],"names":[],"mappings":"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"} |
@@ -1,14 +0,7 @@ | ||
| import { DataPointType, SymmetricCfg } from '../interface'; | ||
| import { Data } from '../interface'; | ||
| import Adjust from './adjust'; | ||
| export default class Symmetric extends Adjust { | ||
| cfg: SymmetricCfg; | ||
| constructor(cfg: SymmetricCfg); | ||
| process(groupDataArray: DataPointType[][]): DataPointType[][]; | ||
| _getXValuesMaxMap( | ||
| mergeData: DataPointType[] | ||
| ): { | ||
| [key: string]: number; | ||
| }; | ||
| _getDimMaxValue(mergeData: DataPointType[], dim: string): number; | ||
| adjustDim(dim: string, values: number[], data: object[]): void; | ||
| process(groupDataArray: Data[][]): Data[][]; | ||
| private getXValuesMaxMap; | ||
| private getDimMaxValue; | ||
| } |
+12
-23
@@ -1,24 +0,15 @@ | ||
| import * as tslib_1 from "tslib"; | ||
| import { __assign, __extends } from "tslib"; | ||
| import * as _ from '@antv/util'; | ||
| import Adjust from './adjust'; | ||
| var Symmetric = /** @class */ (function (_super) { | ||
| tslib_1.__extends(Symmetric, _super); | ||
| function Symmetric(cfg) { | ||
| var _this = _super.call(this, cfg) || this; | ||
| _this.cfg = { | ||
| adjustNames: [], | ||
| xField: '', | ||
| yField: '', | ||
| }; | ||
| _this.cfg = tslib_1.__assign({}, _this.cfg, cfg); | ||
| return _this; | ||
| __extends(Symmetric, _super); | ||
| function Symmetric() { | ||
| return _super !== null && _super.apply(this, arguments) || this; | ||
| } | ||
| // 入口函数 | ||
| Symmetric.prototype.process = function (groupDataArray) { | ||
| var mergeData = _.flatten(groupDataArray); | ||
| var _a = this.cfg, xField = _a.xField, yField = _a.yField; | ||
| var _a = this, xField = _a.xField, yField = _a.yField; | ||
| // 每个 x 值对应的 最大值 | ||
| var cache = this._getXValuesMaxMap(mergeData); | ||
| var cache = this.getXValuesMaxMap(mergeData); | ||
| // 所有数据的最大的值 | ||
| // const max = this._getDimMaxValue(mergeData, yField); | ||
| var max = Math.max.apply(Math, Object.keys(cache).map(function (key) { return cache[key]; })); | ||
@@ -33,7 +24,7 @@ return _.map(groupDataArray, function (dataArray) { | ||
| var off_1 = (max - cache[xValue]) / 2; | ||
| return tslib_1.__assign({}, data, (_a = {}, _a[yField] = _.map(yValue, function (y) { return off_1 + y; }), _a)); | ||
| return __assign(__assign({}, data), (_a = {}, _a[yField] = _.map(yValue, function (y) { return off_1 + y; }), _a)); | ||
| } | ||
| // 非数组处理逻辑 | ||
| var offset = (max - yValue) / 2; | ||
| return tslib_1.__assign({}, data, (_b = {}, _b[yField] = [offset, yValue + offset], _b)); | ||
| return __assign(__assign({}, data), (_b = {}, _b[yField] = [offset, yValue + offset], _b)); | ||
| }); | ||
@@ -43,11 +34,11 @@ }); | ||
| // 获取每个 x 对应的最大的值 | ||
| Symmetric.prototype._getXValuesMaxMap = function (mergeData) { | ||
| Symmetric.prototype.getXValuesMaxMap = function (mergeData) { | ||
| var _this = this; | ||
| var _a = this.cfg, xField = _a.xField, yField = _a.yField; | ||
| var _a = this, xField = _a.xField, yField = _a.yField; | ||
| // 根据 xField 的值进行分组 | ||
| var groupDataArray = _.groupBy(mergeData, function (data) { return data[xField]; }); | ||
| // 获取每个 xField 值中的最大值 | ||
| return _.mapValues(groupDataArray, function (dataArray) { return _this._getDimMaxValue(dataArray, yField); }); | ||
| return _.mapValues(groupDataArray, function (dataArray) { return _this.getDimMaxValue(dataArray, yField); }); | ||
| }; | ||
| Symmetric.prototype._getDimMaxValue = function (mergeData, dim) { | ||
| Symmetric.prototype.getDimMaxValue = function (mergeData, dim) { | ||
| // 所有的 value 值 | ||
@@ -60,4 +51,2 @@ var dimValues = _.map(mergeData, function (data) { return _.get(data, dim, []); }); | ||
| }; | ||
| // 没有用到,空实现 | ||
| Symmetric.prototype.adjustDim = function (dim, values, data) { }; | ||
| return Symmetric; | ||
@@ -64,0 +53,0 @@ }(Adjust)); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"symmetric.js","sourceRoot":"","sources":["../../src/adjusts/symmetric.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"symmetric.js","sourceRoot":"","sources":["../../src/adjusts/symmetric.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B;IAAuC,6BAAM;IAA7C;;IAyDA,CAAC;IAxDQ,2BAAO,GAAd,UAAe,cAAwB;QACrC,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEtC,IAAA,SAAyB,EAAvB,kBAAM,EAAE,kBAAe,CAAC;QAEhC,gBAAgB;QAChB,IAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAE/C,YAAY;QACZ,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,KAAK,CAAC,GAAG,CAAC,EAAV,CAAU,CAAC,CAAC,CAAC;QAErE,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,UAAC,SAAS;YACrC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,UAAC,IAAI;;gBAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE5B,SAAS;gBACT,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACrB,IAAM,KAAG,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;oBAEtC,6BACK,IAAI,gBACN,MAAM,IAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAC,CAAS,IAAK,OAAA,KAAG,GAAG,CAAC,EAAP,CAAO,CAAC,OAC/C;iBACH;gBAED,UAAU;gBACV,IAAM,MAAM,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClC,6BACK,IAAI,gBACN,MAAM,IAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,OACnC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;IACT,oCAAgB,GAAxB,UAAyB,SAAiB;QAA1C,iBAQC;QAPO,IAAA,SAAyB,EAAvB,kBAAM,EAAE,kBAAe,CAAC;QAEhC,mBAAmB;QACnB,IAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,CAAW,EAAtB,CAAsB,CAAC,CAAC;QAE9E,qBAAqB;QACrB,OAAO,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,UAAC,SAAS,IAAK,OAAA,KAAI,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,EAAtC,CAAsC,CAAC,CAAC;IAC5F,CAAC;IAEO,kCAAc,GAAtB,UAAuB,SAAiB,EAAE,GAAW;QACnD,cAAc;QACd,IAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,UAAC,IAAI,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAApB,CAAoB,CAAC,CAAC;QACnE,uCAAuC;QACvC,IAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE3C,WAAW;QACX,OAAO,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,aAAa,EAAE;IACpC,CAAC;IACH,gBAAC;AAAD,CAAC,AAzDD,CAAuC,MAAM,GAyD5C"} |
+28
-37
@@ -1,43 +0,34 @@ | ||
| export interface AdjustBaseCfg { | ||
| readonly adjustNames: string[]; | ||
| } | ||
| export interface AdjustCfg { | ||
| readonly adjustNames: string[]; | ||
| readonly xField?: string; | ||
| readonly yField?: string; | ||
| readonly dodgeBy?: string; | ||
| readonly marginRatio?: number; | ||
| readonly dodgeRatio?: number; | ||
| readonly size?: number; | ||
| readonly height?: number; | ||
| readonly reverseOrder?: boolean; | ||
| readonly adjustNames?: string[]; | ||
| readonly xField?: string; | ||
| readonly yField?: string; | ||
| readonly dodgeBy?: string; | ||
| readonly marginRatio?: number; | ||
| readonly dodgeRatio?: number; | ||
| readonly size?: number; | ||
| readonly height?: number; | ||
| readonly reverseOrder?: boolean; | ||
| } | ||
| export interface DodgeCfg extends AdjustBaseCfg { | ||
| readonly xField: string; | ||
| readonly yField: string; | ||
| readonly marginRatio: number; | ||
| readonly dodgeRatio: number; | ||
| readonly dodgeBy?: string; | ||
| export interface DodgeCfg { | ||
| readonly adjustNames?: string[]; | ||
| readonly xField: string; | ||
| readonly yField?: string; | ||
| readonly marginRatio?: number; | ||
| readonly dodgeRatio?: number; | ||
| readonly dodgeBy?: string; | ||
| } | ||
| export interface JitterCfg extends AdjustBaseCfg { | ||
| readonly xField: string; | ||
| readonly yField: string; | ||
| export interface StackCfg { | ||
| readonly adjustNames?: string[]; | ||
| readonly xField: string; | ||
| readonly yField?: string; | ||
| readonly height?: number; | ||
| readonly size?: number; | ||
| readonly reverseOrder?: boolean; | ||
| } | ||
| export interface StackCfg extends AdjustBaseCfg { | ||
| readonly xField: string; | ||
| readonly yField: string; | ||
| readonly height: number; | ||
| readonly size: number; | ||
| readonly reverseOrder: boolean; | ||
| export interface Data { | ||
| [key: string]: any; | ||
| } | ||
| export interface SymmetricCfg extends AdjustBaseCfg { | ||
| readonly xField: string; | ||
| readonly yField: string; | ||
| export interface Range { | ||
| pre: number; | ||
| next: number; | ||
| } | ||
| export interface DataPointType { | ||
| [key: string]: any; | ||
| } | ||
| export interface RangeType { | ||
| pre: number; | ||
| next: number; | ||
| } |
+34
-32
@@ -1,37 +0,39 @@ | ||
| import { AdjustCfg, DataPointType, RangeType } from '../interface'; | ||
| import { AdjustCfg, Data, Range } from '../interface'; | ||
| export declare type AdjustConstructor = new (cfg: any) => Adjust; | ||
| export interface DimValuesMapType { | ||
| [dim: string]: number[]; | ||
| [dim: string]: number[]; | ||
| } | ||
| export default abstract class Adjust { | ||
| cfg: AdjustCfg; | ||
| constructor(cfg: AdjustCfg); | ||
| /** | ||
| * 查看维度是否是 adjust 字段 | ||
| * @param dim | ||
| */ | ||
| isAdjust(dim: string): boolean; | ||
| getAdjustRange(dim: string, dimValue: number, values: number[]): RangeType; | ||
| adjustData(groupedDataArray: DataPointType[][], mergedData: DataPointType[]): void; | ||
| /** | ||
| * 对数据进行分组adjustData | ||
| * @param data 数据 | ||
| * @param dim 分组的字段 | ||
| * @return 分组结果 | ||
| */ | ||
| groupData( | ||
| data: DataPointType[], | ||
| dim: string | ||
| ): { | ||
| [dim: string]: DataPointType[]; | ||
| }; | ||
| abstract process(dataArray: DataPointType[][]): DataPointType[][]; | ||
| abstract adjustDim(dim: string, values: number[], data: DataPointType[], length?: number, index?: number): any; | ||
| /** | ||
| * @protected | ||
| * 获取可调整度量对应的值 | ||
| * @param mergedData 数据 | ||
| * @return 值的映射 | ||
| */ | ||
| protected _getDimValues(mergedData: DataPointType[]): DimValuesMapType; | ||
| /** 参与调整的维度 */ | ||
| adjustNames: string[]; | ||
| /** x 维度对应的字段 */ | ||
| readonly xField: string; | ||
| /** y 维度对应的字段 */ | ||
| readonly yField: string; | ||
| constructor(cfg: AdjustCfg); | ||
| 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; | ||
| } |
+15
-16
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| var tslib_1 = require("tslib"); | ||
| var _ = require("@antv/util"); | ||
| var DEFAULT_Y = 0; // 默认的 y 的值 | ||
| var constant_1 = require("../constant"); | ||
| var Adjust = /** @class */ (function () { | ||
| function Adjust(cfg) { | ||
| this.cfg = { | ||
| adjustNames: ['x', 'y'], | ||
| }; | ||
| this.cfg = tslib_1.__assign({}, this.cfg, cfg); | ||
| var xField = cfg.xField, yField = cfg.yField, _a = cfg.adjustNames, adjustNames = _a === void 0 ? ['x', 'y'] : _a; | ||
| this.adjustNames = adjustNames; | ||
| this.xField = xField; | ||
| this.yField = yField; | ||
| } | ||
@@ -18,6 +17,6 @@ /** | ||
| Adjust.prototype.isAdjust = function (dim) { | ||
| return this.cfg.adjustNames.indexOf(dim) >= 0; | ||
| return this.adjustNames.indexOf(dim) >= 0; | ||
| }; | ||
| Adjust.prototype.getAdjustRange = function (dim, dimValue, values) { | ||
| var yField = this.cfg.yField; | ||
| var yField = this.yField; | ||
| var index = values.indexOf(dimValue); | ||
@@ -62,3 +61,3 @@ var length = values.length; | ||
| // 所有调整维度的值数组 | ||
| var dimValuesMap = this._getDimValues(mergedData); | ||
| var dimValuesMap = this.getDimValues(mergedData); | ||
| // 按照每一个分组来进行调整 | ||
@@ -70,3 +69,3 @@ _.each(groupedDataArray, function (dataArray, index) { | ||
| // 根据不同的度量分别调整位置 | ||
| _this.adjustDim(dim, values, dataArray, groupedDataArray.length, index); | ||
| _this.adjustDim(dim, values, dataArray, index); | ||
| }); | ||
@@ -85,3 +84,3 @@ }); | ||
| if (record[dim] === undefined) { | ||
| record[dim] = DEFAULT_Y; | ||
| record[dim] = constant_1.DEFAULT_Y; | ||
| } | ||
@@ -92,4 +91,5 @@ }); | ||
| }; | ||
| /** @override */ | ||
| Adjust.prototype.adjustDim = function (dim, values, data, index) { }; | ||
| /** | ||
| * @protected | ||
| * 获取可调整度量对应的值 | ||
@@ -99,4 +99,4 @@ * @param mergedData 数据 | ||
| */ | ||
| Adjust.prototype._getDimValues = function (mergedData) { | ||
| var _a = this.cfg, xField = _a.xField, yField = _a.yField; | ||
| Adjust.prototype.getDimValues = function (mergedData) { | ||
| var _a = this, xField = _a.xField, yField = _a.yField; | ||
| var dimValuesMap = {}; | ||
@@ -113,3 +113,2 @@ // 所有的维度 | ||
| // 在每个维度上,所有的值 | ||
| // @ts-ignore | ||
| dimValuesMap[dim] = _.valuesOfKey(mergedData, dim).sort(function (v1, v2) { return v1 - v2; }); | ||
@@ -120,3 +119,3 @@ }); | ||
| var dim = 'y'; | ||
| dimValuesMap[dim] = [DEFAULT_Y, 1]; // 默认分布在 y 轴的 0 与 1 之间 | ||
| dimValuesMap[dim] = [constant_1.DEFAULT_Y, 1]; // 默认分布在 y 轴的 0 与 1 之间 | ||
| } | ||
@@ -123,0 +122,0 @@ return dimValuesMap; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"adjust.js","sourceRoot":"","sources":["../../src/adjusts/adjust.ts"],"names":[],"mappings":";;;AAAA,8BAAgC;AAShC,IAAM,SAAS,GAAG,CAAC,CAAC,CAAC,WAAW;AAEhC;IAKE,gBAAY,GAAc;QAJnB,QAAG,GAAc;YACtB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SACxB,CAAC;QAGA,IAAI,CAAC,GAAG,wBACH,IAAI,CAAC,GAAG,EACR,GAAG,CACP,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,yBAAQ,GAAf,UAAgB,GAAW;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEM,+BAAc,GAArB,UAAsB,GAAW,EAAE,QAAgB,EAAE,MAAgB;QAC3D,IAAA,wBAAM,CAAc;QAE5B,IAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE7B,IAAI,GAAG,CAAC;QACR,IAAI,IAAI,CAAC;QAET,sBAAsB;QACtB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACjC,GAAG,GAAG,CAAC,CAAC;YACR,IAAI,GAAG,CAAC,CAAC;SACV;aAAM,IAAI,MAAM,GAAG,CAAC,EAAE;YACrB,sBAAsB;YACtB,GAAG,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC1C,sBAAsB;YACtB,IAAI,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAE7D,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;aAC7B;iBAAM;gBACL,GAAG,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC9B;YAED,IAAI,KAAK,KAAK,MAAM,GAAG,CAAC,EAAE;gBACxB,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC/B;iBAAM;gBACL,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aAC7C;SACF;aAAM;YACL,GAAG,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;YAC1C,IAAI,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;SAC5C;QAED,OAAO;YACL,GAAG,KAAA;YACH,IAAI,MAAA;SACL,CAAC;IACJ,CAAC;IAEM,2BAAU,GAAjB,UAAkB,gBAAmC,EAAE,UAA2B;QAAlF,iBAaC;QAZC,aAAa;QACb,IAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEpD,eAAe;QACf,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAC,SAAS,EAAE,KAAK;YACxC,WAAW;YACX,yBAAyB;YACzB,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,UAAC,MAAgB,EAAE,GAAW;gBACjD,gBAAgB;gBAChB,KAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,0BAAS,GAAhB,UAAiB,IAAqB,EAAE,GAAW;QACjD,cAAc;QACd,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,UAAC,MAAqB;YACjC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;gBAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QAEH,cAAc;QACd,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAKD;;;;;OAKG;IACO,8BAAa,GAAvB,UAAwB,UAA2B;QAC3C,IAAA,aAA6B,EAA3B,kBAAM,EAAE,kBAAmB,CAAC;QAEpC,IAAM,YAAY,GAAqB,EAAE,CAAC;QAE1C,QAAQ;QACR,IAAM,IAAI,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnB;QACD,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnB;QAED,IAAI,CAAC,OAAO,CAAC,UAAC,GAAW;YACvB,cAAc;YACd,aAAa;YACb,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE,EAAE,EAAE,IAAK,OAAA,EAAE,GAAG,EAAE,EAAP,CAAO,CAAa,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACjC,IAAM,GAAG,GAAG,GAAG,CAAC;YAChB,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,sBAAsB;SAC3D;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IACH,aAAC;AAAD,CAAC,AAnID,IAmIC"} | ||
| {"version":3,"file":"adjust.js","sourceRoot":"","sources":["../../src/adjusts/adjust.ts"],"names":[],"mappings":"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"} |
+15
-12
@@ -1,15 +0,18 @@ | ||
| import { DataPointType, DodgeCfg, RangeType } from '../interface'; | ||
| import { Data, DodgeCfg } from '../interface'; | ||
| import Adjust from './adjust'; | ||
| export default class Dodge extends Adjust { | ||
| cacheMap: { | ||
| [key: string]: any; | ||
| }; | ||
| adjustDataArray: DataPointType[][]; | ||
| mergeData: DataPointType[]; | ||
| cfg: DodgeCfg; | ||
| constructor(cfg: DodgeCfg); | ||
| process(groupDataArray: DataPointType[][]): DataPointType[][]; | ||
| getDodgeOffset(range: RangeType, idx: number, len: number): number; | ||
| getDistribution(dim: string): any; | ||
| adjustDim(dim: string, values: number[], data: DataPointType[], frameCount: number, frameIndex: number): any[]; | ||
| /** 调整占单位宽度的比例,例如:占 2 个分类间距的 1 / 2 */ | ||
| readonly dodgeRatio: number; | ||
| /** 调整过程中 2 个数据的间距,以 dodgeRatio 为分母 */ | ||
| readonly marginRatio: number; | ||
| /** 指定进行 dodge 的字段 */ | ||
| readonly dodgeBy: string; | ||
| private cacheMap; | ||
| private adjustDataArray; | ||
| private mergeData; | ||
| constructor(cfg: DodgeCfg); | ||
| process(groupDataArray: Data[][]): Data[][]; | ||
| protected adjustDim(dim: string, values: number[], data: Data[], frameIndex: number): any[]; | ||
| private getDodgeOffset; | ||
| private getDistribution; | ||
| } |
+32
-43
@@ -5,6 +5,4 @@ "use strict"; | ||
| var _ = require("@antv/util"); | ||
| var constant_1 = require("../constant"); | ||
| var adjust_1 = require("./adjust"); | ||
| // 偏移之后,间距 | ||
| var MARGIN_RATIO = 1 / 2; | ||
| var DODGE_RATIO = 1 / 2; | ||
| var Dodge = /** @class */ (function (_super) { | ||
@@ -17,12 +15,5 @@ tslib_1.__extends(Dodge, _super); | ||
| _this.mergeData = []; | ||
| _this.cfg = { | ||
| adjustNames: ['x', 'y'], | ||
| xField: '', | ||
| yField: '', | ||
| // 调整过程中,2个数据的间距 | ||
| marginRatio: MARGIN_RATIO, | ||
| // 调整占单位宽度的比例,例如:占 2 个分类间距的 1 / 2 | ||
| dodgeRatio: DODGE_RATIO, | ||
| }; | ||
| _this.cfg = tslib_1.__assign({}, _this.cfg, cfg); | ||
| var _a = cfg.marginRatio, marginRatio = _a === void 0 ? constant_1.MARGIN_RATIO : _a, _b = cfg.dodgeRatio, dodgeRatio = _b === void 0 ? constant_1.DODGE_RATIO : _b; | ||
| _this.marginRatio = marginRatio; | ||
| _this.dodgeRatio = dodgeRatio; | ||
| return _this; | ||
@@ -34,3 +25,3 @@ } | ||
| var mergeData = _.flatten(groupedDataArray); | ||
| var dodgeBy = this.cfg.dodgeBy; | ||
| var dodgeBy = this.dodgeBy; | ||
| // 如果指定了分组 dim 的字段 | ||
@@ -44,8 +35,32 @@ var adjustDataArray = dodgeBy ? _.group(mergeData, dodgeBy) : groupedDataArray; | ||
| this.mergeData = []; | ||
| // 下面不能注释掉,不然单测报错,我也不知道为啥 todo | ||
| // this.cacheMap = {}; | ||
| return groupedDataArray; | ||
| }; | ||
| Dodge.prototype.adjustDim = function (dim, values, data, frameIndex) { | ||
| var _this = this; | ||
| var map = this.getDistribution(dim); | ||
| var groupData = this.groupData(data, dim); // 根据值分组 | ||
| _.each(groupData, function (group, key) { | ||
| var range; | ||
| // xField 中只有一个值,不需要做 dodge | ||
| if (values.length === 1) { | ||
| range = { | ||
| pre: values[0] - 1, | ||
| next: values[0] + 1, | ||
| }; | ||
| } | ||
| else { | ||
| // 如果有多个,则需要获取调整的范围 | ||
| range = _this.getAdjustRange(dim, parseFloat(key), values); | ||
| } | ||
| _.each(group, function (d) { | ||
| var value = d[dim]; | ||
| var valueArr = map[value]; | ||
| var valIndex = valueArr.indexOf(frameIndex); | ||
| d[dim] = _this.getDodgeOffset(range, valIndex, valueArr.length); | ||
| }); | ||
| }); | ||
| return []; | ||
| }; | ||
| Dodge.prototype.getDodgeOffset = function (range, idx, len) { | ||
| var _a = this.cfg, dodgeRatio = _a.dodgeRatio, marginRatio = _a.marginRatio; | ||
| var _a = this, dodgeRatio = _a.dodgeRatio, marginRatio = _a.marginRatio; | ||
| var pre = range.pre, next = range.next; | ||
@@ -83,28 +98,2 @@ var tickLength = next - pre; | ||
| }; | ||
| Dodge.prototype.adjustDim = function (dim, values, data, frameCount, frameIndex) { | ||
| var _this = this; | ||
| var map = this.getDistribution(dim); | ||
| var groupData = this.groupData(data, dim); // 根据值分组 | ||
| _.each(groupData, function (group, key) { | ||
| var range; | ||
| // xField 中只有一个值,不需要做 dodge | ||
| if (values.length === 1) { | ||
| range = { | ||
| pre: values[0] - 1, | ||
| next: values[0] + 1, | ||
| }; | ||
| } | ||
| else { | ||
| // 如果有多个,则需要获取调整的范围 | ||
| range = _this.getAdjustRange(dim, parseFloat(key), values); | ||
| } | ||
| _.each(group, function (d) { | ||
| var value = d[dim]; | ||
| var valueArr = map[value]; | ||
| var valIndex = valueArr.indexOf(frameIndex); | ||
| d[dim] = _this.getDodgeOffset(range, valIndex, valueArr.length); | ||
| }); | ||
| }); | ||
| return []; | ||
| }; | ||
| return Dodge; | ||
@@ -111,0 +100,0 @@ }(adjust_1.default)); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"dodge.js","sourceRoot":"","sources":["../../src/adjusts/dodge.ts"],"names":[],"mappings":";;;AAAA,8BAAgC;AAGhC,mCAA8B;AAE9B,UAAU;AACV,IAAM,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3B,IAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;AAE1B;IAAmC,iCAAM;IAevC,eAAY,GAAa;QAAzB,YACE,kBAAM,GAAG,CAAC,SAMX;QArBM,cAAQ,GAA2B,EAAE,CAAC;QACtC,qBAAe,GAAsB,EAAE,CAAC;QACxC,eAAS,GAAoB,EAAE,CAAC;QAEhC,SAAG,GAAa;YACrB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;YACvB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,gBAAgB;YAChB,WAAW,EAAE,YAAY;YACzB,iCAAiC;YACjC,UAAU,EAAE,WAAW;SACxB,CAAC;QAKA,KAAI,CAAC,GAAG,wBACH,KAAI,CAAC,GAAG,EACR,GAAG,CACP,CAAC;;IACJ,CAAC;IAEM,uBAAO,GAAd,UAAe,cAAiC;QAC9C,IAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjD,YAAY;QACZ,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEtC,IAAA,0BAAO,CAAc;QAE7B,kBAAkB;QAClB,IAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAEjF,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAE5C,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,8BAA8B;QAC9B,sBAAsB;QACtB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEM,8BAAc,GAArB,UAAsB,KAAgB,EAAE,GAAW,EAAE,GAAW;QACxD,IAAA,aAAsC,EAApC,0BAAU,EAAE,4BAAwB,CAAC;QACrC,IAAA,eAAG,EAAE,iBAAI,CAAW;QAE5B,IAAM,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC;QAE9B,IAAM,KAAK,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QAC9C,IAAM,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC;QAEnC,IAAM,MAAM,GACV,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;YACzD,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC;YAClC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK;YACf,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;QAEvB,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IACnC,CAAC;IAEM,+BAAe,GAAtB,UAAuB,GAAW;QAChC,IAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC9C,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAExB,IAAI,CAAC,GAAG,EAAE;YACR,GAAG,GAAG,EAAE,CAAC;YACT,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAC,IAAI,EAAE,KAAK;gBACnC,IAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAa,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAClB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChB;gBACD,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,UAAC,GAAW;oBACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;wBACb,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;qBACf;oBACD,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;SACrB;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,yBAAS,GAAhB,UACE,GAAW,EACX,MAAgB,EAChB,IAAqB,EACrB,UAAkB,EAClB,UAAkB;QALpB,iBA+BC;QAxBC,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACtC,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ;QAErD,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAC,KAAK,EAAE,GAAG;YAC3B,IAAI,KAAgB,CAAC;YAErB,2BAA2B;YAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,KAAK,GAAG;oBACN,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;oBAClB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;iBACpB,CAAC;aACH;iBAAM;gBACL,mBAAmB;gBACnB,KAAK,GAAG,KAAI,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;aAC3D;YACD,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAC,CAAC;gBACd,IAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACrB,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC9C,CAAC,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;IACH,YAAC;AAAD,CAAC,AA3HD,CAAmC,gBAAM,GA2HxC"} | ||
| {"version":3,"file":"dodge.js","sourceRoot":"","sources":["../../src/adjusts/dodge.ts"],"names":[],"mappings":"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"} |
+11
-14
@@ -1,17 +0,14 @@ | ||
| import { DataPointType, JitterCfg, RangeType } from '../interface'; | ||
| import { Data } from '../interface'; | ||
| import Adjust from './adjust'; | ||
| export default class Jitter extends Adjust { | ||
| cfg: JitterCfg; | ||
| constructor(cfg: JitterCfg); | ||
| process(groupDataArray: DataPointType[][]): DataPointType[][]; | ||
| randomNumber(min: number, max: number): number; | ||
| getAdjustOffset(range: RangeType): number; | ||
| _adjustGroup(group: DataPointType[], dim: string, dimValue: number, values: number[]): DataPointType[]; | ||
| /** | ||
| * 当前数据分组(index)中,按照维度 dim 进行 jitter 调整 | ||
| * @param dim | ||
| * @param values | ||
| * @param dataArray | ||
| */ | ||
| adjustDim(dim: string, values: number[], dataArray: DataPointType[]): void; | ||
| process(groupDataArray: Data[][]): Data[][]; | ||
| /** | ||
| * 当前数据分组(index)中,按照维度 dim 进行 jitter 调整 | ||
| * @param dim | ||
| * @param values | ||
| * @param dataArray | ||
| */ | ||
| protected adjustDim(dim: string, values: number[], dataArray: Data[]): void; | ||
| private getAdjustOffset; | ||
| private adjustGroup; | ||
| } |
+22
-34
@@ -5,16 +5,11 @@ "use strict"; | ||
| var _ = require("@antv/util"); | ||
| var constant_1 = require("../constant"); | ||
| var adjust_1 = require("./adjust"); | ||
| // 散点分开之后,距离边界的距离 | ||
| var GAP = 0.05; | ||
| function randomNumber(min, max) { | ||
| return (max - min) * Math.random() + min; | ||
| } | ||
| var Jitter = /** @class */ (function (_super) { | ||
| tslib_1.__extends(Jitter, _super); | ||
| function Jitter(cfg) { | ||
| var _this = _super.call(this, cfg) || this; | ||
| _this.cfg = { | ||
| adjustNames: ['x', 'y'], | ||
| xField: '', | ||
| yField: '', | ||
| }; | ||
| _this.cfg = tslib_1.__assign({}, _this.cfg, cfg); | ||
| return _this; | ||
| function Jitter() { | ||
| return _super !== null && _super.apply(this, arguments) || this; | ||
| } | ||
@@ -29,4 +24,15 @@ Jitter.prototype.process = function (groupDataArray) { | ||
| }; | ||
| Jitter.prototype.randomNumber = function (min, max) { | ||
| return (max - min) * Math.random() + min; | ||
| /** | ||
| * 当前数据分组(index)中,按照维度 dim 进行 jitter 调整 | ||
| * @param dim | ||
| * @param values | ||
| * @param dataArray | ||
| */ | ||
| Jitter.prototype.adjustDim = function (dim, values, dataArray) { | ||
| var _this = this; | ||
| // 在每一个分组中,将数据再按照 dim 分组,用于散列 | ||
| var groupDataArray = this.groupData(dataArray, dim); | ||
| return _.each(groupDataArray, function (data, dimValue) { | ||
| return _this.adjustGroup(data, dim, parseFloat(dimValue), values); | ||
| }); | ||
| }; | ||
@@ -37,7 +43,7 @@ // 随机出来的字段值 | ||
| // 随机的范围 | ||
| var margin = (next - pre) * GAP; | ||
| return this.randomNumber(pre + margin, next - margin); | ||
| var margin = (next - pre) * constant_1.GAP; | ||
| return randomNumber(pre + margin, next - margin); | ||
| }; | ||
| // adjust group data | ||
| Jitter.prototype._adjustGroup = function (group, dim, dimValue, values) { | ||
| Jitter.prototype.adjustGroup = function (group, dim, dimValue, values) { | ||
| var _this = this; | ||
@@ -47,6 +53,2 @@ // 调整范围 | ||
| _.each(group, function (data) { | ||
| // return { | ||
| // ...data, | ||
| // [dim]: this.getAdjustOffset(range); // 获取调整的位置 | ||
| // } | ||
| data[dim] = _this.getAdjustOffset(range); // 获取调整的位置 | ||
@@ -56,16 +58,2 @@ }); | ||
| }; | ||
| /** | ||
| * 当前数据分组(index)中,按照维度 dim 进行 jitter 调整 | ||
| * @param dim | ||
| * @param values | ||
| * @param dataArray | ||
| */ | ||
| Jitter.prototype.adjustDim = function (dim, values, dataArray) { | ||
| var _this = this; | ||
| // 在每一个分组中,将数据再按照 dim 分组,用于散列 | ||
| var groupDataArray = this.groupData(dataArray, dim); | ||
| return _.each(groupDataArray, function (da, dimValue) { | ||
| return _this._adjustGroup(da, dim, parseFloat(dimValue), values); | ||
| }); | ||
| }; | ||
| return Jitter; | ||
@@ -72,0 +60,0 @@ }(adjust_1.default)); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"jitter.js","sourceRoot":"","sources":["../../src/adjusts/jitter.ts"],"names":[],"mappings":";;;AAAA,8BAAgC;AAEhC,mCAA8B;AAE9B,iBAAiB;AACjB,IAAM,GAAG,GAAG,IAAI,CAAC;AAEjB;IAAoC,kCAAM;IAOxC,gBAAY,GAAc;QAA1B,YACE,kBAAM,GAAG,CAAC,SAMX;QAbM,SAAG,GAAc;YACtB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;YACvB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACX,CAAC;QAKA,KAAI,CAAC,GAAG,wBACH,KAAI,CAAC,GAAG,EACR,GAAG,CACP,CAAC;;IACJ,CAAC;IAEM,wBAAO,GAAd,UAAe,cAAiC;QAC9C,IAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjD,mCAAmC;QACnC,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAoB,CAAC;QAEjE,MAAM;QACN,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAE7C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEM,6BAAY,GAAnB,UAAoB,GAAW,EAAE,GAAW;QAC1C,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;IAC3C,CAAC;IAED,WAAW;IACJ,gCAAe,GAAtB,UAAuB,KAAgB;QAC7B,IAAA,eAAG,EAAE,iBAAI,CAAW;QAC5B,QAAQ;QACR,IAAM,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,oBAAoB;IACb,6BAAY,GAAnB,UAAoB,KAAsB,EAAE,GAAW,EAAE,QAAgB,EAAE,MAAgB;QAA3F,iBAYC;QAXC,OAAO;QACP,IAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEzD,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAC,IAAmB;YAChC,WAAW;YACX,aAAa;YACb,mDAAmD;YACnD,IAAI;YACJ,IAAI,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;QACrD,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACI,0BAAS,GAAhB,UAAiB,GAAW,EAAE,MAAgB,EAAE,SAA0B;QAA1E,iBAMC;QALC,6BAA6B;QAC7B,IAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,UAAC,EAAmB,EAAE,QAAgB;YAClE,OAAO,KAAI,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IACH,aAAC;AAAD,CAAC,AApED,CAAoC,gBAAM,GAoEzC"} | ||
| {"version":3,"file":"jitter.js","sourceRoot":"","sources":["../../src/adjusts/jitter.ts"],"names":[],"mappings":";;;AAAA,8BAAgC;AAChC,wCAAkC;AAElC,mCAA8B;AAE9B,SAAS,YAAY,CAAC,GAAW,EAAE,GAAW;IAC5C,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AAC3C,CAAC;AAED;IAAoC,kCAAM;IAA1C;;IA6CA,CAAC;IA5CQ,wBAAO,GAAd,UAAe,cAAwB;QACrC,IAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjD,mCAAmC;QACnC,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAW,CAAC;QAExD,MAAM;QACN,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAE7C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACO,0BAAS,GAAnB,UAAoB,GAAW,EAAE,MAAgB,EAAE,SAAiB;QAApE,iBAMC;QALC,6BAA6B;QAC7B,IAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,UAAC,IAAY,EAAE,QAAgB;YAC3D,OAAO,KAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;IACH,gCAAe,GAAvB,UAAwB,KAAY;QAC1B,IAAA,eAAG,EAAE,iBAAI,CAAW;QAC5B,QAAQ;QACR,IAAM,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,cAAG,CAAC;QAClC,OAAO,YAAY,CAAC,GAAG,GAAG,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,oBAAoB;IACZ,4BAAW,GAAnB,UAAoB,KAAa,EAAE,GAAW,EAAE,QAAgB,EAAE,MAAgB;QAAlF,iBAQC;QAPC,OAAO;QACP,IAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEzD,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAC,IAAU;YACvB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;QACrD,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IACH,aAAC;AAAD,CAAC,AA7CD,CAAoC,gBAAM,GA6CzC"} |
+13
-12
@@ -1,15 +0,16 @@ | ||
| import { DataPointType, StackCfg } from '../interface'; | ||
| import { Data, StackCfg } from '../interface'; | ||
| import Adjust from './adjust'; | ||
| export default class Stack extends Adjust { | ||
| cfg: StackCfg; | ||
| constructor(cfg: StackCfg); | ||
| _reverse(groupedDataArray: DataPointType[][]): DataPointType[][]; | ||
| /** | ||
| * 方法入参是经过数据分组、数据数字化之后的二维数组 | ||
| * @param groupDataArray 分组之后的数据 | ||
| */ | ||
| process(groupDataArray: DataPointType[][]): DataPointType[][]; | ||
| processStack(groupDataArray: DataPointType[][]): DataPointType[][]; | ||
| processOneDimStack(groupDataArray: DataPointType[][]): DataPointType[][]; | ||
| adjustDim(dim: string, values: number[], data: object[]): void; | ||
| readonly height: number; | ||
| readonly size: number; | ||
| readonly reverseOrder: boolean; | ||
| constructor(cfg: StackCfg); | ||
| /** | ||
| * 方法入参是经过数据分组、数据数字化之后的二维数组 | ||
| * @param groupDataArray 分组之后的数据 | ||
| */ | ||
| process(groupDataArray: Data[][]): Data[][]; | ||
| private reverse; | ||
| private processStack; | ||
| private processOneDimStack; | ||
| } |
+18
-27
@@ -11,16 +11,9 @@ "use strict"; | ||
| var _this = _super.call(this, cfg) || this; | ||
| _this.cfg = { | ||
| adjustNames: ['y'], | ||
| xField: '', | ||
| yField: '', | ||
| height: NaN, | ||
| size: 10, | ||
| reverseOrder: false, | ||
| }; | ||
| _this.cfg = tslib_1.__assign({}, _this.cfg, cfg); | ||
| var _a = cfg.adjustNames, adjustNames = _a === void 0 ? ['y'] : _a, _b = cfg.height, height = _b === void 0 ? NaN : _b, _c = cfg.size, size = _c === void 0 ? 10 : _c, _d = cfg.reverseOrder, reverseOrder = _d === void 0 ? false : _d; | ||
| _this.adjustNames = adjustNames; | ||
| _this.height = height; | ||
| _this.size = size; | ||
| _this.reverseOrder = reverseOrder; | ||
| return _this; | ||
| } | ||
| Stack.prototype._reverse = function (groupedDataArray) { | ||
| return groupedDataArray.slice(0).reverse(); | ||
| }; | ||
| /** | ||
@@ -31,12 +24,15 @@ * 方法入参是经过数据分组、数据数字化之后的二维数组 | ||
| Stack.prototype.process = function (groupDataArray) { | ||
| var _a = this.cfg, yField = _a.yField, reverseOrder = _a.reverseOrder; | ||
| var _a = this, yField = _a.yField, reverseOrder = _a.reverseOrder; | ||
| // 如果有指定 y 字段,那么按照 y 字段来 stack | ||
| // 否则,按照高度均分 | ||
| var d = yField ? this.processStack(groupDataArray) : this.processOneDimStack(groupDataArray); | ||
| return reverseOrder ? this._reverse(d) : d; | ||
| return reverseOrder ? this.reverse(d) : d; | ||
| }; | ||
| Stack.prototype.reverse = function (groupedDataArray) { | ||
| return groupedDataArray.slice(0).reverse(); | ||
| }; | ||
| Stack.prototype.processStack = function (groupDataArray) { | ||
| var _a = this.cfg, xField = _a.xField, yField = _a.yField, reverseOrder = _a.reverseOrder; | ||
| var _a = this, xField = _a.xField, yField = _a.yField, reverseOrder = _a.reverseOrder; | ||
| // 层叠顺序翻转 | ||
| var groupedDataArray = reverseOrder ? this._reverse(groupDataArray) : groupDataArray; | ||
| var groupedDataArray = reverseOrder ? this.reverse(groupDataArray) : groupDataArray; | ||
| // 用来缓存,正数和负数的堆叠问题 | ||
@@ -62,3 +58,3 @@ var positive = new Cache(); | ||
| cache.set(xKey, newXValue); | ||
| return tslib_1.__assign({}, data, (_a = {}, _a[yField] = [xValue, newXValue], _a)); | ||
| return tslib_1.__assign(tslib_1.__assign({}, data), (_a = {}, _a[yField] = [xValue, newXValue], _a)); | ||
| } | ||
@@ -70,11 +66,8 @@ // 没有修改,则直接返回 | ||
| }; | ||
| // todo 不明白画出来是什么含义 | ||
| Stack.prototype.processOneDimStack = function (groupDataArray) { | ||
| var _this = this; | ||
| var _a = this.cfg, xField = _a.xField, height = _a.height, reverseOrder = _a.reverseOrder; | ||
| var yField = this.cfg.yField; | ||
| // todo processOneDimStack 必然是 yField 不存在 | ||
| yField = 'y'; | ||
| var _a = this, xField = _a.xField, height = _a.height, reverseOrder = _a.reverseOrder; | ||
| var yField = 'y'; | ||
| // 如果层叠的顺序翻转 | ||
| var groupedDataArray = reverseOrder ? this._reverse(groupDataArray) : groupDataArray; | ||
| var groupedDataArray = reverseOrder ? this.reverse(groupDataArray) : groupDataArray; | ||
| // 缓存累加数据 | ||
@@ -85,3 +78,3 @@ var cache = new Cache(); | ||
| var _a; | ||
| var size = _this.cfg.size; | ||
| var size = _this.size; | ||
| var xValue = data[xField]; | ||
@@ -96,8 +89,6 @@ // todo 没有看到这个 stack 计算原理 | ||
| cache.set(xValue, stackValue + stackHeight); | ||
| return tslib_1.__assign({}, data, (_a = {}, _a[yField] = stackValue, _a)); | ||
| return tslib_1.__assign(tslib_1.__assign({}, data), (_a = {}, _a[yField] = stackValue, _a)); | ||
| }); | ||
| }); | ||
| }; | ||
| // 没有用到,空实现 | ||
| Stack.prototype.adjustDim = function (dim, values, data) { }; | ||
| return Stack; | ||
@@ -104,0 +95,0 @@ }(adjust_1.default)); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../src/adjusts/stack.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../src/adjusts/stack.ts"],"names":[],"mappings":"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"} |
@@ -1,14 +0,7 @@ | ||
| import { DataPointType, SymmetricCfg } from '../interface'; | ||
| import { Data } from '../interface'; | ||
| import Adjust from './adjust'; | ||
| export default class Symmetric extends Adjust { | ||
| cfg: SymmetricCfg; | ||
| constructor(cfg: SymmetricCfg); | ||
| process(groupDataArray: DataPointType[][]): DataPointType[][]; | ||
| _getXValuesMaxMap( | ||
| mergeData: DataPointType[] | ||
| ): { | ||
| [key: string]: number; | ||
| }; | ||
| _getDimMaxValue(mergeData: DataPointType[], dim: string): number; | ||
| adjustDim(dim: string, values: number[], data: object[]): void; | ||
| process(groupDataArray: Data[][]): Data[][]; | ||
| private getXValuesMaxMap; | ||
| private getDimMaxValue; | ||
| } |
+10
-21
@@ -8,20 +8,11 @@ "use strict"; | ||
| tslib_1.__extends(Symmetric, _super); | ||
| function Symmetric(cfg) { | ||
| var _this = _super.call(this, cfg) || this; | ||
| _this.cfg = { | ||
| adjustNames: [], | ||
| xField: '', | ||
| yField: '', | ||
| }; | ||
| _this.cfg = tslib_1.__assign({}, _this.cfg, cfg); | ||
| return _this; | ||
| function Symmetric() { | ||
| return _super !== null && _super.apply(this, arguments) || this; | ||
| } | ||
| // 入口函数 | ||
| Symmetric.prototype.process = function (groupDataArray) { | ||
| var mergeData = _.flatten(groupDataArray); | ||
| var _a = this.cfg, xField = _a.xField, yField = _a.yField; | ||
| var _a = this, xField = _a.xField, yField = _a.yField; | ||
| // 每个 x 值对应的 最大值 | ||
| var cache = this._getXValuesMaxMap(mergeData); | ||
| var cache = this.getXValuesMaxMap(mergeData); | ||
| // 所有数据的最大的值 | ||
| // const max = this._getDimMaxValue(mergeData, yField); | ||
| var max = Math.max.apply(Math, Object.keys(cache).map(function (key) { return cache[key]; })); | ||
@@ -36,7 +27,7 @@ return _.map(groupDataArray, function (dataArray) { | ||
| var off_1 = (max - cache[xValue]) / 2; | ||
| return tslib_1.__assign({}, data, (_a = {}, _a[yField] = _.map(yValue, function (y) { return off_1 + y; }), _a)); | ||
| return tslib_1.__assign(tslib_1.__assign({}, data), (_a = {}, _a[yField] = _.map(yValue, function (y) { return off_1 + y; }), _a)); | ||
| } | ||
| // 非数组处理逻辑 | ||
| var offset = (max - yValue) / 2; | ||
| return tslib_1.__assign({}, data, (_b = {}, _b[yField] = [offset, yValue + offset], _b)); | ||
| return tslib_1.__assign(tslib_1.__assign({}, data), (_b = {}, _b[yField] = [offset, yValue + offset], _b)); | ||
| }); | ||
@@ -46,11 +37,11 @@ }); | ||
| // 获取每个 x 对应的最大的值 | ||
| Symmetric.prototype._getXValuesMaxMap = function (mergeData) { | ||
| Symmetric.prototype.getXValuesMaxMap = function (mergeData) { | ||
| var _this = this; | ||
| var _a = this.cfg, xField = _a.xField, yField = _a.yField; | ||
| var _a = this, xField = _a.xField, yField = _a.yField; | ||
| // 根据 xField 的值进行分组 | ||
| var groupDataArray = _.groupBy(mergeData, function (data) { return data[xField]; }); | ||
| // 获取每个 xField 值中的最大值 | ||
| return _.mapValues(groupDataArray, function (dataArray) { return _this._getDimMaxValue(dataArray, yField); }); | ||
| return _.mapValues(groupDataArray, function (dataArray) { return _this.getDimMaxValue(dataArray, yField); }); | ||
| }; | ||
| Symmetric.prototype._getDimMaxValue = function (mergeData, dim) { | ||
| Symmetric.prototype.getDimMaxValue = function (mergeData, dim) { | ||
| // 所有的 value 值 | ||
@@ -63,4 +54,2 @@ var dimValues = _.map(mergeData, function (data) { return _.get(data, dim, []); }); | ||
| }; | ||
| // 没有用到,空实现 | ||
| Symmetric.prototype.adjustDim = function (dim, values, data) { }; | ||
| return Symmetric; | ||
@@ -67,0 +56,0 @@ }(adjust_1.default)); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"symmetric.js","sourceRoot":"","sources":["../../src/adjusts/symmetric.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"symmetric.js","sourceRoot":"","sources":["../../src/adjusts/symmetric.ts"],"names":[],"mappings":";;;AAAA,8BAAgC;AAEhC,mCAA8B;AAE9B;IAAuC,qCAAM;IAA7C;;IAyDA,CAAC;IAxDQ,2BAAO,GAAd,UAAe,cAAwB;QACrC,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEtC,IAAA,SAAyB,EAAvB,kBAAM,EAAE,kBAAe,CAAC;QAEhC,gBAAgB;QAChB,IAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAE/C,YAAY;QACZ,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,KAAK,CAAC,GAAG,CAAC,EAAV,CAAU,CAAC,CAAC,CAAC;QAErE,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,UAAC,SAAS;YACrC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,UAAC,IAAI;;gBAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE5B,SAAS;gBACT,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACrB,IAAM,KAAG,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;oBAEtC,6CACK,IAAI,gBACN,MAAM,IAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAC,CAAS,IAAK,OAAA,KAAG,GAAG,CAAC,EAAP,CAAO,CAAC,OAC/C;iBACH;gBAED,UAAU;gBACV,IAAM,MAAM,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClC,6CACK,IAAI,gBACN,MAAM,IAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,OACnC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;IACT,oCAAgB,GAAxB,UAAyB,SAAiB;QAA1C,iBAQC;QAPO,IAAA,SAAyB,EAAvB,kBAAM,EAAE,kBAAe,CAAC;QAEhC,mBAAmB;QACnB,IAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,CAAW,EAAtB,CAAsB,CAAC,CAAC;QAE9E,qBAAqB;QACrB,OAAO,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,UAAC,SAAS,IAAK,OAAA,KAAI,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,EAAtC,CAAsC,CAAC,CAAC;IAC5F,CAAC;IAEO,kCAAc,GAAtB,UAAuB,SAAiB,EAAE,GAAW;QACnD,cAAc;QACd,IAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,UAAC,IAAI,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAApB,CAAoB,CAAC,CAAC;QACnE,uCAAuC;QACvC,IAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE3C,WAAW;QACX,OAAO,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,aAAa,EAAE;IACpC,CAAC;IACH,gBAAC;AAAD,CAAC,AAzDD,CAAuC,gBAAM,GAyD5C"} |
+28
-37
@@ -1,43 +0,34 @@ | ||
| export interface AdjustBaseCfg { | ||
| readonly adjustNames: string[]; | ||
| } | ||
| export interface AdjustCfg { | ||
| readonly adjustNames: string[]; | ||
| readonly xField?: string; | ||
| readonly yField?: string; | ||
| readonly dodgeBy?: string; | ||
| readonly marginRatio?: number; | ||
| readonly dodgeRatio?: number; | ||
| readonly size?: number; | ||
| readonly height?: number; | ||
| readonly reverseOrder?: boolean; | ||
| readonly adjustNames?: string[]; | ||
| readonly xField?: string; | ||
| readonly yField?: string; | ||
| readonly dodgeBy?: string; | ||
| readonly marginRatio?: number; | ||
| readonly dodgeRatio?: number; | ||
| readonly size?: number; | ||
| readonly height?: number; | ||
| readonly reverseOrder?: boolean; | ||
| } | ||
| export interface DodgeCfg extends AdjustBaseCfg { | ||
| readonly xField: string; | ||
| readonly yField: string; | ||
| readonly marginRatio: number; | ||
| readonly dodgeRatio: number; | ||
| readonly dodgeBy?: string; | ||
| export interface DodgeCfg { | ||
| readonly adjustNames?: string[]; | ||
| readonly xField: string; | ||
| readonly yField?: string; | ||
| readonly marginRatio?: number; | ||
| readonly dodgeRatio?: number; | ||
| readonly dodgeBy?: string; | ||
| } | ||
| export interface JitterCfg extends AdjustBaseCfg { | ||
| readonly xField: string; | ||
| readonly yField: string; | ||
| export interface StackCfg { | ||
| readonly adjustNames?: string[]; | ||
| readonly xField: string; | ||
| readonly yField?: string; | ||
| readonly height?: number; | ||
| readonly size?: number; | ||
| readonly reverseOrder?: boolean; | ||
| } | ||
| export interface StackCfg extends AdjustBaseCfg { | ||
| readonly xField: string; | ||
| readonly yField: string; | ||
| readonly height: number; | ||
| readonly size: number; | ||
| readonly reverseOrder: boolean; | ||
| export interface Data { | ||
| [key: string]: any; | ||
| } | ||
| export interface SymmetricCfg extends AdjustBaseCfg { | ||
| readonly xField: string; | ||
| readonly yField: string; | ||
| export interface Range { | ||
| pre: number; | ||
| next: number; | ||
| } | ||
| export interface DataPointType { | ||
| [key: string]: any; | ||
| } | ||
| export interface RangeType { | ||
| pre: number; | ||
| next: number; | ||
| } |
+47
-20
| { | ||
| "name": "@antv/adjust", | ||
| "version": "0.2.0", | ||
| "version": "0.2.1-beta.1", | ||
| "description": "The adjust module for G2, F2.", | ||
@@ -14,22 +14,8 @@ "main": "lib/index.js", | ||
| ], | ||
| "devDependencies": { | ||
| "@antv/scale": "~0.2.0", | ||
| "@antv/torch": "~1.0.5", | ||
| "chai": "~4.1.2", | ||
| "husky": "^3.0.4", | ||
| "npm-run-all": "^4.1.5", | ||
| "prettier": "^1.18.2", | ||
| "tslint": "^5.18.0", | ||
| "tslint-config-prettier": "^1.18.0", | ||
| "typescript": "^3.5.3", | ||
| "rimraf": "^3.0.0" | ||
| }, | ||
| "scripts": { | ||
| "clean": "rimraf lib esm", | ||
| "lint": "run-s lint:*", | ||
| "lint:tslint": "tslint -c tslint.json 'src/**/*.ts'", | ||
| "lint:prettier": "prettier --list-different 'src/**/*.{ts,tsx,js,jsx}'", | ||
| "test": "torch --renderer --compile --recursive ./__tests__/", | ||
| "test-live": "torch --compile --interactive --watch --recursive ./__tests__/", | ||
| "coverage": "exit 0", | ||
| "lint": "lint-staged", | ||
| "test": "jest", | ||
| "test-live": "DEBUG_MODE=1 jest", | ||
| "coverage": "jest --coverage", | ||
| "lib:cjs": "tsc -p tsconfig.json --target ES5 --module commonjs --outDir lib", | ||
@@ -39,3 +25,4 @@ "lib:esm": "tsc -p tsconfig.json --target ES5 --module ESNext --outDir esm", | ||
| "build": "run-s clean lib", | ||
| "ci": "run-s lint build test" | ||
| "ci": "run-s build coverage", | ||
| "coveralls": "cat ./coverage/lcov.info | coveralls" | ||
| }, | ||
@@ -46,2 +33,19 @@ "dependencies": { | ||
| }, | ||
| "devDependencies": { | ||
| "@antv/scale": "~0.2.0", | ||
| "@types/jest": "^24.0.18", | ||
| "husky": "^3.0.4", | ||
| "jest": "^24.9.0", | ||
| "jest-electron": "^0.1.7", | ||
| "jest-extended": "^0.11.2", | ||
| "lint-staged": "^9.2.3", | ||
| "npm-run-all": "^4.1.5", | ||
| "prettier": "^1.18.2", | ||
| "rimraf": "^3.0.0", | ||
| "ts-jest": "^24.1.0", | ||
| "tslint": "^5.18.0", | ||
| "tslint-config-prettier": "^1.18.0", | ||
| "typescript": "^3.5.3", | ||
| "coveralls": "^3.0.6" | ||
| }, | ||
| "husky": { | ||
@@ -52,2 +56,25 @@ "hooks": { | ||
| }, | ||
| "lint-staged": { | ||
| "*.{js,css,json,md}": [ | ||
| "prettier --write", | ||
| "git add" | ||
| ], | ||
| "*.{ts}": [ | ||
| "tslint -c tslint.json --fix", | ||
| "prettier --write", | ||
| "git add" | ||
| ] | ||
| }, | ||
| "jest": { | ||
| "runner": "jest-electron/runner", | ||
| "testEnvironment": "jest-electron/environment", | ||
| "preset": "ts-jest", | ||
| "collectCoverage": false, | ||
| "collectCoverageFrom": [ | ||
| "src/**/*.{ts,js}", | ||
| "!**/node_modules/**", | ||
| "!**/vendor/**" | ||
| ], | ||
| "testRegex": "/tests/.*-spec\\.ts?$" | ||
| }, | ||
| "repository": { | ||
@@ -54,0 +81,0 @@ "type": "git", |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
58
11.54%0
-100%80367
-3.55%15
50%1211
-7.06%