Skip to content

Instantly share code, notes, and snippets.

@steveharoz
Last active September 22, 2015 23:18
Show Gist options
  • Save steveharoz/2de6f87cec3e5ba0f332 to your computer and use it in GitHub Desktop.
Save steveharoz/2de6f87cec3e5ba0f332 to your computer and use it in GitHub Desktop.
transition example

hello markdown

<!DOCTYPE html>
<head>
<meta charset="utf-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script>
<style>
body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; }
svg { width: 100%; height: 100%; }
</style>
</head>
<body>
<script>
var margin = {top: 20, right: 10, bottom: 20, left: 10};
var width = 960 - margin.left - margin.right;
var height = 500 - margin.top - margin.bottom;
var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
var data = d3.range(1,20).map(function(x){return Math.random()*11;});
var circles = svg.selectAll('circle').data(data).enter().append('circle')
.attr('transform', function(d){return 'translate('+ d*80 + ',100)';})
.attr('r', function(d){return 10 + d*3;})
.attr('fill', function(d){return d3.hcl(d/11*360,50,50);})
function animate() {
data = d3.range(1,20).map(function(x){return Math.random()*11;});
circles = svg.selectAll('circle').data(data).enter().append('circle')
.attr('transform', function(d){return 'translate('+ d*80 + ',100)';})
.attr('r', function(d){return 10 + d*3;})
.attr('fill', function(d){return d3.hcl(d/11*360,50,50);})
circles
.transition()
.delay(function(d){return 100 + d*50;})
.attr('transform', function(d){return 'translate('+ d*80 + ',200)';});
circles
.transition()
.delay(function(d,i){return 1000 + d*50;})
.attr('transform', function(d){return 'translate('+ d*80 + ',100)';});
}
setInterval(animate, 2000);
console.log("you are now rocking with d3", d3);
</script>
</body>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment