Escala ordinal pan / zoom?

Estoy usando d3 para renderizar un diagrama de Gantt simplificado, con desplazamiento y zoom usando d3.behavior.zoom.

La escala x es una escala de tiempo (ligeramente modificada para centrar los días del calendario en columnas, etc.) y funciona a la perfección, pero tengo problemas para decidir cómo ampliar / desplazar la escala y, cuyo dominio es una lista de tareas que a menudo serán demasiados para que quepan en el área del gráfico, por lo que la necesidad de encuadre / zoom.

¿Hay alguna forma de indicar a la escala ordinal predeterminada que reaccione ante los eventos de zoom / pan, o debo escribir una escala personalizada? Y si necesito escribir una escala personalizada, ¿sería mejor basarla en d3.scale.ordinal (que almacene la lista completa de tareas y utilice solo el subconjunto visible como su dominio), o en d3.scale? lineal (y luego implementar algo similar a la escala ordinal para bandas de banda, etc?).

¿O hay algo que me falta (es muy probable que sea mi primer proyecto con d3)?

Respuestas a la pregunta(2)

Su respuesta a la pregunta