关联知识
标度
D3提供了称为标度的各种构造,以帮助您执行这种映射。 从概念上正确理解这些构造对于成为有效的可视化开发人员至关重要。 这是因为比例尺不仅用于执行我们前面提到的映射,而且还用作许多其他D3构造(例如过渡和轴)的基本构建块。
这些标度到底是什么? 简而言之,标度可以被认为是数学函数。 数学函数不同于命令式编程语言中定义的函数,例如JavaScript函数。 在数学中,函数定义为两组之间的映射:
令A和B为非空集。 从A到B的函数f是B的一个元素正好分配给A的每个元素。如果b是函数f分配给A的元素a的B的唯一元素,则写f(a)= b。
尽管这个定义很枯燥,但您仍然不禁注意到它非常适合我们需要执行的任务,将元素从数据域映射到可视域。
我们需要在此处说明的另一个根本重要概念是给定函数的域和范围。
如果f是从A到B的函数,我们说A是f的域,而B是f的共域。 如果f(a)= b,我们说b是a的像,a是b的原像。 f的范围或映像是A元素的所有映像的集合。同样,如果f是从A到B的函数,我们说f映射A到B。
为了帮助我们理解这个概念,让我们看一下下图:
>>>>> gd2md-html alert: inline image link here (to images/image1.png). Store image on your image server and adjust path/filename/extension if necessary.
(Back to top)(Next alert)
>>>>>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bFGrWwsj-1605737830413)(images/image1.png “image_tooltip”)]
函数f将A映射到B
正如我们现在可以清楚地看到的那样,在上一个函数f的图示中,域设置为A,范围设置为B。想象一下,如果集合A表示我们的数据域,而B表示可视域,则此处定义的函数f本质上 D3中的比例尺,用于将元素从集合A映射到集合B。