UNPKG

2.4 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var tslib_1 = require("tslib");
4var util_1 = require("@antv/util");
5var base_1 = require("../base");
6var get_style_1 = require("../util/get-style");
7// 根据数据点生成 tick shape 的 6 个关键点
8function getTickPoints(pointInfo) {
9 var _a;
10 var x = pointInfo.x, y = pointInfo.y, y0 = pointInfo.y0, size = pointInfo.size;
11 var yMin;
12 var yMax;
13 if ((0, util_1.isArray)(y)) {
14 _a = tslib_1.__read(y, 2), yMin = _a[0], yMax = _a[1];
15 }
16 else {
17 yMin = y0;
18 yMax = y;
19 }
20 var xMax = x + size / 2;
21 var xMin = x - size / 2;
22 // tick 关键点顺序
23 // 4 - 1 - 5
24 // |
25 // 2 - 0 - 3
26 return [
27 { x: x, y: yMin },
28 { x: x, y: yMax },
29 { x: xMin, y: yMin },
30 { x: xMax, y: yMin },
31 { x: xMin, y: yMax },
32 { x: xMax, y: yMax },
33 ];
34}
35// 根据 tick 关键点绘制 path
36function getTickPath(points) {
37 return [
38 ['M', points[0].x, points[0].y],
39 ['L', points[1].x, points[1].y],
40 ['M', points[2].x, points[2].y],
41 ['L', points[3].x, points[3].y],
42 ['M', points[4].x, points[4].y],
43 ['L', points[5].x, points[5].y],
44 ];
45}
46/** I 形状柱状图,常用于 error bar chart */
47(0, base_1.registerShape)('interval', 'tick', {
48 getPoints: function (shapePoint) {
49 return getTickPoints(shapePoint);
50 },
51 draw: function (cfg, container) {
52 var style = (0, get_style_1.getStyle)(cfg, true, false);
53 var path = this.parsePath(getTickPath(cfg.points));
54 var shape = container.addShape('path', {
55 attrs: tslib_1.__assign(tslib_1.__assign({}, style), { path: path }),
56 name: 'interval',
57 });
58 return shape;
59 },
60 getMarker: function (markerCfg) {
61 var color = markerCfg.color;
62 return {
63 symbol: function (x, y, r) {
64 return [
65 ['M', x - r / 2, y - r],
66 ['L', x + r / 2, y - r],
67 ['M', x, y - r],
68 ['L', x, y + r],
69 ['M', x - r / 2, y + r],
70 ['L', x + r / 2, y + r],
71 ];
72 },
73 style: {
74 r: 5,
75 stroke: color,
76 },
77 };
78 },
79});
80//# sourceMappingURL=tick.js.map
\No newline at end of file