12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
- var each = require('@antv/util/lib/each');
- var mix = require('@antv/util/lib/mix');
- var ArrayUtil = {
- merge: require('@antv/util/lib/array/merge')
- };
- var Adjust = require('./base');
- var AdjustMixin = require('./mixin/adjust');
- var Jitter =
- /*#__PURE__*/
- function (_Adjust) {
- _inheritsLoose(Jitter, _Adjust);
- function Jitter() {
- return _Adjust.apply(this, arguments) || this;
- }
- var _proto = Jitter.prototype;
- _proto._initDefaultCfg = function _initDefaultCfg() {
- this.xField = null; // 调整对应的 x 方向对应的字段名称
- this.yField = null; // 调整对应的 y 方向对应的字段名称
- this.adjustNames = ['x', 'y']; // 指x,y
- this.groupFields = null; // 参与分组的数据维度
- };
- _proto.processAdjust = function processAdjust(dataArray) {
- var self = this;
- var mergeData = ArrayUtil.merge(dataArray);
- self.adjDataArray = dataArray;
- self.mergeData = mergeData;
- self.adjustData(dataArray, mergeData);
- self.adjFrames = null;
- self.mergeData = null;
- };
- _proto.getAdjustOffset = function getAdjustOffset(pre, next) {
- var r = Math.random(); // 随机位置,均匀分布
- var avg = next - pre; // * length
- var append = avg * 0.05;
- return pre + append + avg * 0.9 * r;
- }; // adjust group data
- _proto._adjustGroup = function _adjustGroup(group, dim, key, values) {
- var self = this;
- var range = self.getAdjustRange(dim, key, values);
- each(group, function (record) {
- record[dim] = self.getAdjustOffset(range.pre, range.next); // 获取调整的位置
- });
- };
- _proto.adjustDim = function adjustDim(dim, values, data) {
- var self = this;
- var groupData = self.groupData(data, dim);
- each(groupData, function (group, key) {
- key = parseFloat(key);
- self._adjustGroup(group, dim, key, values);
- });
- };
- return Jitter;
- }(Adjust);
- mix(Jitter.prototype, AdjustMixin);
- Adjust.Jitter = Jitter;
- module.exports = Jitter;
|