Zoom selectivo D3

Estoy trabajando en un diseño de gráfico dirigido por fuerza con algunas características adicionales: enlaces / nodos seleccionables, información sobre herramientas, efecto de ojo de pez y, lo que es importante para mi pregunta, zoom y desplazamiento.

Ahora, el zoom funciona muy bien así:

d3 ... .append('svg:g').call(d3.behavior.zoom().on("zoom", redraw))... 

Donde la función de redibujado se ve así ...

function redraw() {
  trans = d3.event.translate;
  scale = d3.event.scale;
  vis.attr("transform", "translate(" + trans + ")" + " scale(" + scale + ")");
}

Sin embargo, este método amplía el gráfico SVG completo, incluidos los tamaños de fuente, los bordes de los gráficos, los anchos de trazo de línea que rodean los nodos, etc.

Es de alguna manera posibleno ¿Hacer zoom a ciertos elementos? La única solución que he visto hasta ahora es poner una línea como esta (la tomé de aquíhttp://jsfiddle.net/56RDx/2/)

node.attr("font-size", (nodeFontSize / d3.event.scale) + "px");

en el método de redibujado, para invertir básicamente el zoom en ciertos elementos sobre la marcha. Sin embargo, mi problema (aparte de ser un truco feo), es que mis anchos de borde se generan dinámicamente en el dibujo del gráfico (de acuerdo con algunas propiedades del gráfico ...), por lo que este método de 'inversión' no funciona ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta