1 line
4.7 KiB
Plaintext
1 line
4.7 KiB
Plaintext
{"version":3,"file":"interval.js","sourceRoot":"","sources":["../../src/geometry/interval.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,QAAQ,MAAM,QAAQ,CAAC;AAC9B,yBAAyB;AACzB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;GAGG;AACH;IAAsC,4BAAQ;IAA9C;QAAA,qEAqEC;QApEiB,UAAI,GAAW,UAAU,CAAC;QAC1B,eAAS,GAAW,UAAU,CAAC;QACrC,oBAAc,GAAY,IAAI,CAAC;;IAkE3C,CAAC;IAhEC;;;;OAIG;IACO,uCAAoB,GAA9B,UAA+B,GAAU;QACvC,IAAM,GAAG,GAAG,iBAAM,oBAAoB,YAAC,GAAG,CAAC,CAAC;QAE5C,oBAAoB;QACpB,IAAI,IAAI,CAAC;QACT,IAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE;YACZ,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM;YACN,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,IAAM,eAAe,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,GAAG,IAAI,GAAG,eAAe,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;aACzC;YACD,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;SACzB;QACD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAEhB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACO,8BAAW,GAArB;QACE,iBAAM,WAAW,WAAE,CAAC;QACpB,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,mBAAmB;QACnB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC;gBACZ,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,CAAC;gBACN,yDAAyD;gBACzD,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC;aAC/D,CAAC,CAAC;SACJ;aAAM;YACL,iBAAiB;YACjB,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACzB,IAAA,KAAK,GAAqB,MAAM,MAA3B,EAAE,GAAG,GAAgB,MAAM,IAAtB,EAAE,GAAG,GAAW,MAAM,IAAjB,EAAE,IAAI,GAAK,MAAM,KAAX,CAAY;YACzC,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnB,cAAc;gBACd,qCAAqC;gBACrC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;oBAC9C,MAAM,CAAC,MAAM,CAAC;wBACZ,GAAG,EAAE,CAAC;qBACP,CAAC,CAAC;iBACJ;gBACD,yCAAyC;gBACzC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;oBAC/C,MAAM,CAAC,MAAM,CAAC;wBACZ,GAAG,EAAE,CAAC;qBACP,CAAC,CAAC;iBACJ;aACF;SACF;IACH,CAAC;IACH,eAAC;AAAD,CAAC,AArED,CAAsC,QAAQ,GAqE7C","sourcesContent":["import { get } from '@antv/util';\nimport { Datum } from '../interface';\nimport { getXDimensionLength } from '../util/coordinate';\nimport Geometry from './base';\n/** 引入对应的 ShapeFactory */\nimport './shape/interval';\nimport { getDefaultSize } from './util/shape-size';\n\n/**\n * Interval 几何标记。\n * 用于绘制柱状图、饼图、条形图、玫瑰图等。\n */\nexport default class Interval extends Geometry {\n public readonly type: string = 'interval';\n public readonly shapeType: string = 'interval';\n protected generatePoints: boolean = true;\n\n /**\n * 获取每条数据的 Shape 绘制信息\n * @param obj 经过分组 -> 数字化 -> adjust 调整后的数据记录\n * @returns\n */\n protected createShapePointsCfg(obj: Datum) {\n const cfg = super.createShapePointsCfg(obj);\n\n // 计算每个 shape 的 size\n let size;\n const sizeAttr = this.getAttribute('size');\n if (sizeAttr) {\n size = this.getAttributeValues(sizeAttr, obj)[0];\n // 归一化\n const coordinate = this.coordinate;\n const coordinateWidth = getXDimensionLength(coordinate);\n size = size / coordinateWidth;\n } else {\n if (!this.defaultSize) {\n this.defaultSize = getDefaultSize(this);\n }\n size = this.defaultSize;\n }\n cfg.size = size;\n\n return cfg;\n }\n\n /**\n * 调整 y 轴的 scale 范围。\n * 对于 Y 轴为数值轴柱状图,默认从 0 开始 生长。\n */\n protected adjustScale() {\n super.adjustScale();\n const yScale = this.getYScale();\n // 特殊逻辑:饼图需要填充满整个空间\n if (this.coordinate.type === 'theta') {\n yScale.change({\n nice: false,\n min: 0,\n // 发生过 stack 调整,yScale 的 max 被调整过,this.updateStackRange()\n max: Math.max(Math.max.apply(null, yScale.values), yScale.max),\n });\n } else {\n // 柱状图数值轴默认从 0 开始\n const scaleDefs = this.scaleDefs;\n const { field, min, max, type } = yScale;\n if (type !== 'time') {\n // time 类型不做调整\n // 柱状图的 Y 轴要从 0 开始生长,但是如果用户设置了则以用户的为准\n if (min > 0 && !get(scaleDefs, [field, 'min'])) {\n yScale.change({\n min: 0,\n });\n }\n // 柱当柱状图全为负值时也需要从 0 开始生长,但是如果用户设置了则以用户的为准\n if (max <= 0 && !get(scaleDefs, [field, 'max'])) {\n yScale.change({\n max: 0,\n });\n }\n }\n }\n }\n}\n"]} |