docs: 完善官网文档

This commit is contained in:
shihui 2022-01-06 20:46:25 +08:00
parent de28fbc85b
commit 9cafce3bf8
1 changed files with 33 additions and 7 deletions

View File

@ -42,18 +42,44 @@ layer.source(data, {
### scale
设置数据字段映射方法。
设置数据字段映射方法,用于设置数据字段的定义域
用户在使用 color、size 或者是 style 中的数据映射字段的时候若是使用了指定了按比例映射则都需要处理字段到值的映射关系。scale 方法就可以设置字段到值的映射是按哪一种类型进行映射。
用户在 source 方法中传入数据后可以通过 scale 方法设置映射到值域的映射关系以及相关的定义域
```javascript
.color('key', ['#f00', '#0f0', '#00f'])
const pointLayer = new PointLayer({})
.source(data)
.shape('circle')
.color('id', ['#f00', '#ff0'])
.size('mag', [1, 80])
.scale('mag', {
type: "linear",
domain: [ 1, 50]
})
.active(true)
.style({
opacity: 0.3,
strokeWidth: 1
});
```
🌟 在上面的代码中 size 设置点的大小,且点大小的值域为 [1, 80]。我们通过 scale 指定 mag 字段的定义域是 [1, 50]
✨ 为了验证是否生效我们可以讲 domain 设置为 [1, 20],我们可以看到点的 size 明显变大了size 在值域中的取值变大了)
.size('key', [10, 20, 30])
[在线案例](https://codesandbox.io/s/gracious-dhawan-4d71l?file=/index.js)
.style({
opacity: ['key', [0, 0.5, 1.0]]
})
✨ L7 在内部使用了 d3 的 scale 方法,为了方便理解可以看 d3 比例尺的概念
```javascript
var data = [1.2, 2.3, 0.9, 1.5, 3.3];
var min = d3.min(data);
var max = d3.max(data);
var linear = d3.scale.linear()
.domain([min, max])
.range([0, 300])
linear(0.9) // 0
linear(2.3) // 1.5
linear(3.3) // 300
```
- `field` 指定 source 中传入的数据中用于映射的字段名