将特定刻度添加到D3.js轴

Tom*_*m P 7 d3.js

我创建了一个带有d3.svg.axis时间刻度的轴,并对刻度线生成器生成的刻度很满意.但是,我想确保始终标记特定值.例如,如果生成器生成以下日期

2000-1-1,2001-1-1,2002-1-1,2003-1-1

我可能想让轴显示

2000-1-1,2000年7月21日,2001-1-1,2002年1月1日,2003-1-1

如何获得由tick生成器生成的滴答数组,以便我可以添加我的值并将其传递给tickValues函数?

我可以创建第二个轴,设置它以删除域路径并将任何其他日期传递给那个tickValues函数,但这看起来有点尴尬.

或者我是以错误的方式解决这个问题?

谢谢

exp*_*nit 15

设置了比例和轴后,可以ticks()不使用参数调用来获取它生成的值:

ticks = myScale.ticks();
Run Code Online (Sandbox Code Playgroud)

然后你可以推/拼/任何:

ticks.push(some_new_value):
Run Code Online (Sandbox Code Playgroud)

然后将它们传回 tickValues

myAxis.tickValues(ticks);
Run Code Online (Sandbox Code Playgroud)

在此之前完成所有这些操作.当然,请将此轴添加到SVG中.