The d3.lineRadial.curve() method is used to give a curve to our lineRadial. D3.js provides several curve factories that can be used to give different curves.
Syntax:
d3.lineRadial.curve(curve_factory);
Parameters:
- curve_factory: type of curve to be given to the line.
Return Value: This method has no return value.
Example 1: In this example, we will use the curveBasis curve factory.
<!DOCTYPE html> < html >
< meta charset = "utf-8" >
< script src =
</ script >
</ 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 >
|
Output:
Example 2: In this example, we will use the curveCardinal curve factory.
<!DOCTYPE html> < html >
< meta charset = "utf-8" >
< script src =
</ script >
</ 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 >
|
Output: