下一个问题是标注应该取多高?假设图表最高一列的高度为 7。纵轴最高标注应该是 ‘5 -’,让图表高出标注吗?还是最高标注为 ‘7 -’,恰好对齐图表顶端?又或者最高标注为 10 -,即 5 的倍数,并且高于图表的最大值?
后一种方式更为常用。大多数图表都绘制在边长为整数步长的矩形内——步长为 5 时,就使用 5、10、15 等数值。但一旦决定为纵轴使用步长高度,我们就会发现变量列表中计算高度的简单表达式是错误的。表达式 (apply 'max numbers-list) 只返回精确高度,而不会向上取整到最近的 5 的倍数。我们需要一个更复杂的表达式。
和这类常见情况一样,复杂问题拆分成若干小问题就会变简单。
首先考虑图表最大值恰好是 5 的整数倍的情况——比如 5、10、15 或更大的 5 的倍数。我们可以直接用该值作为纵轴高度。
判断一个数是否为 5 的倍数,一个相当简单的方法是将其除以 5 看是否有余数。若无余数,则该数是 5 的倍数。例如 7 除以 5 余数为 2,因此 7 不是 5 的整数倍。换一种更贴近课堂的说法:5 除 7 商 1 余 2。而 5 除 10 商 2 余 0,因此 10 是 5 的整数倍。