1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.Point = void 0;
|
4 | const band_1 = require("./band");
|
5 | const ordinal_1 = require("./ordinal");
|
6 | /**
|
7 | * Point 比例尺
|
8 | *
|
9 | * 一种特殊的 band scale,它的 bandWidth 恒为 0。
|
10 | *
|
11 | * 由于部分选项较为抽象,见下图描述:
|
12 | *
|
13 | * PO = Padding = PaddingInner
|
14 | * domain = ["A", "B", "C"]
|
15 | *
|
16 | * |<------------------------------------------- range ------------------------------------------->|
|
17 | * | | | | |
|
18 | * |<--step*PO-->|<--------------step------------->|<--------------step------------->|<--step*PO-->|
|
19 | * | | | | |
|
20 | * | A B C |
|
21 | * |-----------------------------------------------------------------------------------------------|
|
22 | *
|
23 | * 性能方便较 d3 快出 8 - 9 倍
|
24 | */
|
25 | class Point extends band_1.Band {
|
26 | // 覆盖默认配置
|
27 | getDefaultOptions() {
|
28 | return {
|
29 | domain: [],
|
30 | range: [0, 1],
|
31 | align: 0.5,
|
32 | round: false,
|
33 | padding: 0,
|
34 | unknown: ordinal_1.defaultUnknown,
|
35 | paddingInner: 1,
|
36 | paddingOuter: 0,
|
37 | };
|
38 | }
|
39 | // 能接受的参数只是 PointOptions,不能有 paddingInner 这些属性
|
40 | constructor(options) {
|
41 | super(options);
|
42 | }
|
43 | // Point 的 paddingInner 只能是1,不能被覆盖
|
44 | getPaddingInner() {
|
45 | return 1;
|
46 | }
|
47 | clone() {
|
48 | return new Point(this.options);
|
49 | }
|
50 | update(options) {
|
51 | super.update(options);
|
52 | }
|
53 | getPaddingOuter() {
|
54 | return this.options.padding;
|
55 | }
|
56 | }
|
57 | exports.Point = Point;
|
58 | //# sourceMappingURL=point.js.map |
\ | No newline at end of file |