我喜欢d3.scaleBand().bandwidth()
和d3.axisBottom(scaleTime())
。
我可以两全其美吗?
更具体地说:我有一个时间序列条形图,其聚合级别是可更改的,但最外面的条形在最高日期聚合处超出了我的范围。这是因为我使用d3.scaleTime()
来设置我的水平位置,因为轴刻度生成很可爱。
Observable notebook
这里最好的做法是什么,因为我看到了三个选项:
d3.scaleTime()
自定义带宽计算,然后播放
在生成轴之前的范围,所以一切都排好了
适当d3.scaleBand()
并以某种方式处理刻度格式
(EWW)d3.scaleBand()
进行实际定位
轴生成d3.scaleTime()
(似乎很臭)奇怪的是,我找不到其他地方如何做到这一点的好例子。