El método d3.lineRadial.curve() se usa para dar una curva a nuestro lineRadial. D3.js proporciona varias fábricas de curvas que se pueden usar para generar diferentes curvas.
Sintaxis:
d3.lineRadial.curve(curve_factory);
Parámetros:
- curve_factory: tipo de curva que se le dará a la línea.
Valor de retorno: este método no tiene valor de retorno.
Ejemplo 1: En este ejemplo, usaremos la fábrica de curvas curveBasis.
<!DOCTYPE html> <html> <meta charset="utf-8"> <script src= "https://cdnjs.cloudflare.com/ajax/libs/d3/4.2.2/d3.min.js"> </script> <script src="https://d3js.org/d3.v4.min.js"> </script> <body> <h1 style="text-align: center; color: green;"> GeeksforGeeks </h1> <center> <svg id="gfg" width="200" height="200"> <g transform="translate(100, 100)"></g> </svg> </center> </body> <script> var lineRadialGenerator = d3.lineRadial(); var data = [ {angle: 0, radius: 10}, {angle: 3.14 * .5, radius: 35}, {angle: 3.14 * .75, radius: 55}, {angle: 3.14, radius: 60}, {angle: 3.14 * 1.25, radius: 65}, {angle: 3.14 * 1.5, radius: 70}, {angle: 3.14 * 1.75, radius: 75}, {angle: null, radius: 80}, {angle: 3.14 * 2.25, radius: 85}, {angle: 3.14 * 2.5, radius: 90}, {angle: 3.14 * 2.75, radius: 95}, {angle: 3.14 * 3, radius: 100}, {angle: 3.14 * 3.25, radius: 105}, {angle: 3.14 * 3.5, radius: 110} ]; var lineRadialGenerator = d3.lineRadial() .angle((d) => d.angle) .radius((d) => d.radius) .curve(d3.curveBasis) d3.select("#gfg") .select("g") .append("path") .attr("d", lineRadialGenerator(data)) .attr("fill", "none") .attr("stroke", "green"); </script> </html>
Producción:
Ejemplo 2: En este ejemplo, utilizaremos la fábrica de curvas curveCardinal.
<!DOCTYPE html> <html> <meta charset="utf-8"> <script src= "https://cdnjs.cloudflare.com/ajax/libs/d3/4.2.2/d3.min.js"> </script> <script src="https://d3js.org/d3.v4.min.js"> </script> <body> <h1 style="text-align: center; color: green;"> GeeksforGeeks </h1> <center> <svg id="gfg" width="200" height="200"> <g transform="translate(100, 100)"></g> </svg> </center> </body> <script> var lineRadialGenerator = d3.lineRadial(); var data = [ {angle: 0, radius: 10}, {angle: 3.14 * .5, radius: 35}, {angle: 3.14 * .75, radius: 55}, {angle: 3.14, radius: 60}, {angle: 3.14 * 1.25, radius: 65}, {angle: 3.14 * 1.5, radius: 70}, {angle: 3.14 * 1.75, radius: 75}, {angle: null, radius: 80}, {angle: 3.14 * 2.25, radius: 85}, {angle: 3.14 * 2.5, radius: 90}, {angle: 3.14 * 2.75, radius: 95}, {angle: 3.14 * 3, radius: 100}, {angle: 3.14 * 3.25, radius: 105}, {angle: 3.14 * 3.5, radius: 110} ]; var lineRadialGenerator = d3.lineRadial() .angle((d) => d.angle) .radius((d) => d.radius) .curve(d3.curveCardinal) d3.select("#gfg") .select("g") .append("path") .attr("d", lineRadialGenerator(data)) .attr("fill", "none") .attr("stroke", "green"); </script> </html>
Producción: