我正在使用d3渲染一个简化的甘特图,并使用d3.behavior.zoom进行平移和缩放。
x比例尺是时间比例尺(稍作修改以在列中居中日历天等),运行得非常好,但我遇到了难以决定如何缩放/平移y比例尺的问题。y比例尺的定义域是任务列表,通常太多无法适应图表区域,因此需要平移/缩放。
有没有办法告诉默认序数比例尺响应缩放/平移事件,或者我应该编写自定义比例尺?如果我需要编写自定义比例尺,是将其基于d3.scale.ordinal(让它存储整个任务列表,仅使用可见子集作为其定义域),还是基于d3.scale.linear(然后实现类似于序数比例尺的范围带等)更好呢?
或者我漏掉了什么(完全可能,因为这是我使用d3的第一个项目)?