UNPKG

1.73 kBTypeScriptView Raw
1import { BandOptions } from '../types';
2import { Ordinal } from './ordinal';
3/**
4 * Band 比例尺
5 *
6 * 一种特殊的 ordinal scale,区别在于值域的范围是连续的。
7 * 使用的场景例如柱状图,可以用来定位各个柱子水平方向距离原点开始绘制的距离、各柱子之间的间距
8 *
9 * 由于部分选项较为抽象,见下图描述:
10 *
11 * PO = paddingOuter
12 * PI = paddingInner
13 *
14 * domain = [A, B]
15 *
16 * |<------------------------------------------- range ------------------------------------------->|
17 * | | | | | | |
18 * |<--step*PO-->|<----bandWidth---->|<--step*PI-->|<----bandWidth---->|<--step*PI-->|<--step*PO-->|
19 * | | ***************** | | ***************** | | |
20 * | | ******* A ******* | | ******* B ******* | | |
21 * | | ***************** | | ***************** | | |
22 * | |<--------------step------------->| |
23 * |-----------------------------------------------------------------------------------------------|
24 *
25 * 性能方便较 d3 快出 8 - 9 倍
26 */
27export declare class Band<O extends BandOptions> extends Ordinal<O> {
28 private step;
29 private bandWidth;
30 private adjustedRange;
31 protected getDefaultOptions(): O;
32 constructor(options?: BandOptions);
33 clone(): Band<O>;
34 getStep(): number;
35 getBandWidth(): number;
36 getRange(): O["range"];
37 protected getPaddingInner(): number;
38 protected getPaddingOuter(): number;
39 protected rescale(): void;
40}