我使用D3.js创建一些简单的条形图,并使用d3.time.scale()
作为x轴。
但是,我偶然发现了一个不正常现象(或者在我看来,虽然当然,我错了:P)
当我按月间隔生成带刻度的刻度时,刻度之间的差异不相等。
scaleX = d3.time.scale()
.range([0, 1000])
.domain([new Date('2014-01'), new Date('2014-12')])
scaleX(new Date("2014-01")) // 0
scaleX(new Date("2014-02")) // 9.28... (diff ~ 9.3)
scaleX(new Date("2014-03")) // 17.66... (diff ~ 8.4)
scaleX(new Date("2014-04")) // 26.94... (diff ~ 9.3)
这会导致图形中的条纹不均匀,导致图形丑陋......
用几个月作为刻度均匀分隔条形图的正确方法是什么?我意识到有可能使用ordinal
比例来做到这一点,但它感觉不对,顺序量表也不会勾勒几个月我没有任何数字的刻度。数据
编辑:对这个问题稍作澄清: 既然SO是针对程序员的,那么我只是问过"正确的方法"使蜱均匀分布。但我真正想问的是:
可以接受显示时间长度不等的时间表吗?