The d3.curveCatmullRomClosed() interpolator produces a cubic CatMullRom spline. The curve is also based on these cubic CatMullRom splines. This is an open variant which combines the first and last point in the dataset with a curve.
Syntax:
d3.curveCatmullRomClosed()
Parameters: This method does not accept any parameters.
Return Value: This method does not return any value.
Example 1:Â
HTML
<!DOCTYPE html> <html>   <head>     <meta charset="utf-8">     <script src=     </script> </head>   <body>     <h1 style="text-align:center; color:green;">         neveropen     </h1>     <center>         <svg id="gfg" width="250" height="250"></svg>     </center>           <script>         var data = [             { x: 0, y: 0 },             { x: 1, y: 3 },             { x: 2, y: 15 },             { x: 5, y: 15 },             { x: 6, y: 1 },             { x: 7, y: 5 },             { x: 8, y: 1 }];           var xScale = d3.scaleLinear()             .domain([0, 8]).range([25, 200]);         var yScale = d3.scaleLinear()             .domain([0, 20]).range([200, 25]);           var line = d3.line()             .x((d) => xScale(d.x))             .y((d) => yScale(d.y))             .curve(d3.curveCatmullRomClosed);           d3.select("#gfg")             .append("path")             .attr("d", line(data))             .attr("fill", "none")             .attr("stroke", "green");     </script> </body>   </html> |
Output:
Example 2:
HTML
<!DOCTYPE html> <html>   <head>     <meta charset="utf-8">     <script src=     </script> </head>   <body>     <h1 style="text-align:center; color:green;">         neveropen     </h1>     <center>         <svg id="gfg" width="250" height="200"></svg>     </center>       <script>         var points = [             { xpoint: 25, ypoint: 150 },             { xpoint: 75, ypoint: 85 },             { xpoint: 100, ypoint: 115 },             { xpoint: 175, ypoint: 25 },             { xpoint: 200, ypoint: 150 }];           var Gen = d3.line()             .x((p) => p.xpoint)             .y((p) => p.ypoint)             .curve(d3.curveCatmullRomClosed);           d3.select("#gfg")             .append("path")             .attr("d", Gen(points))             .attr("fill", "none")             .attr("stroke", "green");     </script> </body>   </html> |
Output:

