我创建了一个带有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
函数,但这看起来有点尴尬。
或者我是以错误的方式解决这个问题?
由于
答案 0 :(得分:14)
一旦你设置了你的规模&如果没有参数,您可以调用ticks()
来获取它生成的值:
ticks = myScale.ticks();
然后你可以推/拼/其他:
ticks.push(some_new_value):
然后将它们传回tickValues
myAxis.tickValues(ticks);
在此之前完成所有这些操作。当然,请将此轴添加到SVG中。