Diseño de fuerza D3: hacer que el movimiento de paneo en arrastre (zoom) sea más suave

Tengo un gráfico de diseño de fuerza estática d3.js que puede ser bastante grande (a veces se recortan partes de él), por lo que me gustaría permitir que el usuario mueva todo el gráfico arrastrando. No creo que necesite arrastrar nodos individuales, tengo la sensación de que va a ser confuso, pero me gustaría poder mostrar las partes de la gráfica que están recortadas por los límites svg.

Tengo un ejemplo mínimo enhttp://bl.ocks.org/3811811 que utiliza

visF.append("rect")
 .attr("class", "background")
 .attr("width", width)
 .attr("height", height)
 .call(d3.behavior.zoom().on("zoom", redrawVisF));
function redrawVisF () {
  visF.attr("transform","translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale + ")");
}

para implementar la panorámica, pero me parece realmente "escabroso" y no muy suave en absoluto, hasta el punto en el que supongo que impedirá que las personas prueben la función de arrastre. ¿Alguien tiene una idea de por qué sucede esto y / o una idea de cómo solucionarlo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta