跳到主要内容

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开始之间的距离。

band.copy()