Skip to content

Instantly share code, notes, and snippets.

@kirankumaramruthaluri
Created October 14, 2013 08:31
Show Gist options
  • Save kirankumaramruthaluri/6972684 to your computer and use it in GitHub Desktop.
Save kirankumaramruthaluri/6972684 to your computer and use it in GitHub Desktop.
D3 Sine Circle
<!DOCTYPE html>
<html>
<head>
<title>D3 Sine Circle</title>
</head>
<body>
<div id="wrapper">
</div>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script>
var data = d3.range(120).map(function(i) {
return .8 + Math.sin(i / 3 * Math.PI) / 6;
});
var width = 960,
height = 500;
var radius = d3.scale.linear()
.domain([0, 1])
.range([height / 3, height / 2]);
var angle = d3.scale.linear()
.domain([0, data.length])
.range([0, 2 * Math.PI]);
var line = d3.svg.line.radial()
.interpolate("basis-closed")
.radius(radius)
.angle(function(d, i) { return angle(i); });
var area = d3.svg.area.radial()
.interpolate(line.interpolate())
.innerRadius(radius(0))
.outerRadius(line.radius())
.angle(line.angle());
var svg = d3.select("#wrapper").append("svg")
.datum(data)
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + width / 2 + "," + height / 2 + ")");
svg.append("path")
.attr("class", "area")
.attr("d", area)
.style('fill','red')
.style('stroke','black')
.style('stroke-width',2);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment