从文档中,定义是:
..具有离散而非连续范围的线性标度的变体.输入域仍然是连续的,并且基于输出范围(基数)中的值的数量被划分为统一的段.
...将输入域映射到离散范围.虽然输入域是连续的并且比例将接受任何合理的输入值,但输入域被指定为一组离散值.输出范围(基数)中的值的数量决定了将从输入域计算的分位数的数量
这两者似乎都将连续输入域映射到一组离散值.任何人都能说明这种差异吗?
着色地图有一个很好的视觉解释.
量化:

位数:

在散点图上,先前的水平条现在是垂直的,因为每个地方的颜色由其等级而不是值确定.
这是D3 v4中的代码片段,它显示了量化和分位数的不同结果.
const purples = [
'purple1',
'purple2',
'purple3',
'purple4',
'purple5'
]
const dataset = [1, 1, 1, 1, 2, 3, 4, 5] // try [1, 2, 3, 4, 5] as well
const quantize = d3.scaleQuantize()
.domain(d3.extent(dataset)) // pass the min and max of the dataset
.range(purples)
const quantile = d3.scaleQuantile()
.domain(dataset) // pass the entire dataset
.range(purples)
console.log(quantize(3)) // purples[3]
console.log(quantile(3)) // purples[4]
Run Code Online (Sandbox Code Playgroud)
据我所知,差别在于,统计分位数是有限的,相等的,均匀分布的离散块/桶,您的结果只会落入其中.不同之处在于量化比例是基于离散输入的连续函数.
基本上:量化允许插值和外推,其中分位数强制值进入子集.
因此,例如,如果学生的计算等级在量化量表中为81.7%,则百分位数的分位数量表将简单地说它是第81百分位数.那里没有灵活性的余地.