UNPKG

1.88 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.Point = void 0;
4const band_1 = require("./band");
5const 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 */
25class 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}
57exports.Point = Point;
58//# sourceMappingURL=point.js.map
\No newline at end of file