UNPKG

1.1 kBTypeScriptView Raw
1import { OrdinalOptions, Domain, Range } from '../types';
2import { Base } from './base';
3/**
4 * Ordinal 比例尺
5 *
6 * 该比例尺具有离散的域和范围,例如将一组命名类别映射到一组颜色
7 *
8 * - 使用 for 替代一些基于 map 的遍历,for 循环性能远高于 forEach, map
9 * - 阻止无意义的更新,只有到用户调用 map、invert 或者 update 之后才会进行相应的更新
10 * - 两个 map 只初始化一次,在之后的更新中复用他们,这样我们避免了重复 new Map 带来的性能问题
11 * 在大量调用 update 函数场景下,较 d3-scale 效率有质的提高
12 */
13export declare class Ordinal<O extends OrdinalOptions> extends Base<O> {
14 private domainIndexMap;
15 private rangeIndexMap;
16 protected sortedDomain: O['domain'];
17 protected getDefaultOptions(): O;
18 constructor(options?: OrdinalOptions);
19 map(x: Domain<O>): any;
20 invert(y: Range<O>): any;
21 protected rescale(options?: Partial<O>): void;
22 clone(): Ordinal<O>;
23 protected getRange(): (string | number)[];
24 getDomain(): O["domain"];
25}