1 | import { BandOptions } from '../types';
|
2 | import { 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 | */
|
27 | export 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 | }
|