¿Es posible utilizar un layout de package circular en d3.js con tamaños de círculo fijos?

Este ejemplo de layout de package circular ( http://bl.ocks.org/4063269 ) es perfecto para un proyecto en el que estoy trabajando, sin embargo, mide todos los círculos relativos entre sí:

enter image description here

¿Hay una manera simple de especificar radios fijos para cada círculo?

Revisé el código fuente, ejemplos, google y stackoverflow y parece que no puede encontrar nada útil.

El tamaño exacto de los círculos es importante para mí.

Es posible y simple de hacer. La primera respuesta es precisa, pero creo que la mía es más simple, más explícita, así que también la adjunto.

Por favor, eche un vistazo a este ejemplo: jsfiddle

Cuando presione el button "Constante", verá algo como esto:

enter image description here

La línea del código de la llave es esta:

pack.value(function(d) { return 100; }) 

Esto hará que los radios del círculo sean elementos de información constantes. 100 puede ser cualquier constante, por supuesto. Puede aplicar esta línea en la initialization del package circular (lo más probable es que este sea su caso), o la reinitialization (como en mi ejemplo).

Espero que esto ayude.

Si sigues el código en el ejemplo que diste, el tamaño de los elementos <circle> se decide aquí:

 node.append("circle") .attr("r", function(d) { return dr; }) // ... 

Para arreglar el tamaño de los círculos, por ejemplo, 50 , puede hacer esto:

 node.append("circle") .attr("r", function(d) { return 50; }) // ... 

Actualizar

Esto, sin embargo, romperá el layout como se señala en el comentario. Para solucionarlo, uno puede proporcionar el mismo value a cada nodo:

 // Returns a flattened hierarchy containing all leaf nodes under the root. function classes(root) { var classes = []; function recurse(name, node) { if (node.children) node.children.forEach(function(child) { recurse(node.name, child); }); else classes.push({packageName: name, className: node.name, value: node.size}); } recurse(null, root); return {children: classes}; } 

a:

 // Returns a flattened hierarchy containing all leaf nodes under the root. function classes(root) { var classes = []; function recurse(name, node) { if (node.children) node.children.forEach(function(child) { recurse(node.name, child); }); else classes.push({packageName: name, className: node.name, value: 1}); } recurse(null, root); return {children: classes}; }