D3.js - 如何使用比例将连续域映射到离散范围

D3.js - How to map continuous domains to discrete ranges with scales?

本文关键字:映射 范围 连续 js 何使用 D3      更新时间:2023-09-26

>我正在尝试制作一个将连续域与离散范围相关联的尺度。我的尝试是这样的:

var scale = d3.scale.linear()
    .domain([0, 15.43])
    .range([0, 1, 2, 3, 4]);

因此,域将从 0 到 15.43,采用所有可能的浮点数。如何告诉比例尺取从 0 到 15.43 的所有数字?

您正在寻找scale.quantize

var q = d3.scale.quantize().domain([0, 1]).range(['a', 'b', 'c']);
console.log(q(0));
console.log(q(0.3));
console.log(q(0.35  ));
console.log(q(0.5 ));
console.log(q(1));

当然,范围值也可以是数字。