antv-l7/dev-demos/gallery/scale/index.md

3.1 KiB
Raw Permalink Blame History

Scale 简介

Scale 度量是将地图数据值(数字、日期、类别等数据)转成视觉值(颜色、大小、形状)。尺度 Scale 是数据可视化的基本组成部分,因为它们决定了视觉编码的性质。 L7 目前支持连续、离散、枚举类型数据的Scale并支持位置、形状、大小和颜色编码的映射。

Range 和 domain 是 Scale 中非常重要的两个参数

  • domain: 地图数据值的定义区间
  • range视觉值的区间定义

不同Scale 的差异在于 domain->range 的转换方法的不同

数据类型 度量类型
连续 linear、log、pow、time、quantize、quantile
分类 cat、timeCat
常量 identity

在使用 L7 开发过程中默认情况下不需要进行度量的配置,因为 G2 代码内部已经根据数据的形式对度量进行了假设,其计算过程如下:

查看用户是否制定了对应字段的数据类型 type) 如果没有,判断字段的第一条数据的字段类型

如果数据中不存在对应的字段,则为 'identity' 如果是数字则为 'linear' 如果是字符串,判定是否是时间格式,如果是时间格式则为时间类型 'time', 否则是分类类型 'cat'

Cat

Cat 指枚举类型,用于展示分类数据,比如农作物种植区分布图,水稻、玉米、大豆等不同类别需要映射为不同的颜色。

比如

domain = ['corn','rice',soybean']

range = ['red','white','blue']

三种作物会分别转成对应的颜色

identify

常量度量 某个字段是不变的常量。

Linear

线性是连续数据的映射方法,数据和视觉值是通过线性方法换算的。如数据值 1-100 线性映射到红到蓝的线下渐变色每个数字对应一个颜色

Sequential

quantize

相等间隔会将属性值的范围划分为若干个大小相等的子范围。相等间隔最适用于常见的数据范围,如百分比和温度。这种方法强调的是某个属性值相对于其他值的量

quantile

每个类都含有相等数量的要素。分位数分类非常适用于呈线性分布的数据。分位数为每个类分配数量相等的数据值。不存在空类,也不存在值过多或过少的类。 由于使用“分位数”分类将要素以同等数量分组到每个类中,因此得到的地图往往具有误导性。可能会将相似的要素置于相邻的类中,或将值差异较大的要素置于相同类中。可通过增加类的数量将这种失真降至最低。

threshold

他允许将域的任意子集(非统一段)映射到范围内的离散值。输入域仍然是连续的,并根据提供给域属性的一组阈值划分为多个切片。 range 属性必须有 N+1 个元素,其中 N 是域中提供的阈值边界数

手动设置间隔 Manual interval 手动设置分级分类区间,某些数据会有相应的业界标准,或者需要进行某种特殊的显示。如空气质量数据有严格数据分段标准

-1   => "red"
0    => "white"
0.5  => "white"
1.0  => "blue"
1000 => "blue

diverging