Band scales
除了输出range是连续的、数字的以外,就像序数比例尺。离散输出值通过将连续range划分为均匀的band而自动计算。band scale通常用于有序或分类维度的条形图。band scale的unknown value是不确定的:它们不允许隐式构造domain。
scaleBand(domain, range)
构造函数
band(value)
const x = d3.scaleBand(['a', 'b', 'c'], [0, 960])
x('a') // 0
x('b') // 320
x('c') // 640
x('d') // undefined
band.domain(domain)
band.range(range)
band.rangeRound(range)
band.round(round)
如果指定了round,则启用或禁用相应的舍入。如果启用舍入,每个band的开始和停止将是整数。舍入有时可用于避免抗锯齿,但也可以考虑形状渲染 “crispEdges”风格。请注意,如果domain的宽度不是range的基数的倍数,那么即使没有填充,也可能存在剩余的未使用空间!可以使用band.align指定如何分配剩余空间。
band.paddingInner(padding)
band.paddingOuter(padding)
band.padding(padding)
band.align(align)
如果指定了align,则设置对齐为指定值,其必须是在[0,1]中。如果不指定align,则返回当前对齐值,默认为0.5。对齐值确定了如何分配range内剩余的未使用空间。值为0.5表示剩余空间在第一个band之前和最后一个band之后应该均匀分布;即band应该在range内居中。可以使用值0或1来将band移到一侧,比如说将它们放置在靠近一个轴的位置。
band.bandwidth()
返回每一个band的宽度。
band.step()
返回相邻band开始之间的距离。