La función node.path() en d3.js se utiliza para devolver la ruta más corta entre el Node de origen y el de destino.
Sintaxis:
node.path(target);
Parámetros: esta función acepta un solo parámetro como se indicó anteriormente y se describe a continuación:
- target: este parámetro acepta un Node de destino.
Valor devuelto: esta función devuelve una array.
A continuación se dan algunos ejemplos de la función dada anteriormente.
Ejemplo 1: ruta desde el Node raíz a cualquier otro Node.
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" path1tent= "width=device-width, initial-scale = 1.0" /> <script src= "https://d3js.org/d3.v4.min.js"> </script> </head> <body> <script> // Constructing a tree var tree = { name: "rootNode", children: [ { name: "child1" }, { name: "child2", children: [ { name: "grandchild1", children: [ { name: "grand granchild1" }, { name: "grand granchild2" } ] }, ] }, { name: "child3", children: [ { name: "grandchild2" }, { name: "grandchild3" }, { name: "grandchild4" }, { name: "grandchild5" } ] } ] }; var obj = d3.hierarchy(tree); // Printing path from rootnode // to grand granchild1 console.log(obj.path(obj.children[1]. children[0].children[0])); console.log("Printing path from rootnode" + "to grand granchild1: "); let path = obj.path(obj.children[1] .children[0].children[0]); console.log(path[0].data.name + "->" + path[1].data.name + "->" + path[2].data.name + "->" + path[3].data.name); </script> </body> </html>
Producción:
Ejemplo 2: el siguiente código muestra la ruta de cualquier Node a cualquier otro Node.
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" path1tent= "width=device-width, initial-scale = 1.0" /> <script src= "https://d3js.org/d3.v4.min.js"> </script> </head> <body> <script> // Constructing a tree var tree = { name: "rootNode", children: [ { name: "child1" }, { name: "child2", children: [ { name: "grandchild1", children: [ { name: "grand granchild1" }, { name: "grand granchild2" } ] }, ] }, { name: "child3", children: [ { name: "grandchild2" }, { name: "grandchild3" }, { name: "grandchild4" }, { name: "grandchild5" } ] } ] }; var obj = d3.hierarchy(tree); // Printing path from any node to // any other node var grandchild3 = obj.children[2].children[1]; var child2 = obj.children[1]; console.log(grandchild3.path(child2)); console.log("Printing path from anynode to" + " any other node "); let path = grandchild3.path(child2); console.log(path[0].data.name + "->" + path[1].data.name + "->" + path[2].data.name + "->" + path[3].data.name); </script> </body> </html>
Producción: