我正在尝试创建一个D3图表,我希望每周的刻度为
我想生成像2016年第2016周,2016年第02周等等的滴答声。
我的数据只有时间戳,这是2014年1月6日第01周的一周的开始。
问题是:
D3自动生成刻度将生成2016年1月8日的刻度,如果格式化为2016年第1周,但数据点为2016年1月6日,因此 该点将以相同的格式显示在刻度线之前,这将给我的用户造成混淆。
我是否必须实现/覆盖tickValues所以我只有一些日期始终是一周的第一天的标记,或者是否有一些选项我可以传递给D3所以自动生成这个考虑到这个的标记?
答案 0 :(得分:3)
假设你有一个带有时间刻度的d3轴timeAxis
,那么你应该可以调用
timeAxis.ticks(d3.time.week, 1)
表示“每1周打一次”。 d3假设星期日是本周的开始,这可能就好了。
另外,还有一些名为“xdayOfTheYear”的东西,我之前没有尝试过,但可能对你更好。见the documentation
timeAxis.ticks(d3.time.mondayOfYear)