<script src="/1wheel/raw/67b47524ed8ed829d021/d3-3.5.5.js"></script>
<script src="/1wheel/raw/67b47524ed8ed829d021/lodash-3.8.0.js"></script>
<script src='/1wheel/raw/1b6758978dc2d52d3a37/d3-jetpack.js'></script>
<script src='/1wheel/raw/1b6758978dc2d52d3a37/d3-starterkit.js'></script>
var lineData = d3.range(4).map(function(i){
return d3.range(10).map(function(j){
return i*2*Math.random() + j
c.y.domain([0, d3.max(d3.merge(lineData))])
.x(function(d, i){ return c.x(i) })
c.svg.dataAppend(lineData, 'path.trans')
var canvas = d3.select('body')
.attr({width: w, height: h})
var ctx = canvas.getContext('2d')
var isTransitioning = false
// ctx.fillStyle = 'rgba(0, 0, 0, .1)'
// ctx.fillRect(0, 0, w, h)
d3.range(300).forEach(function(d){
ctx.fillRect(Math.random()*w, Math.random()*h, s*Math.random(), s*Math.random())
d3.range(300).forEach(function(d){
ctx.fillRect(Math.random()*w, Math.random()*h, s*Math.random(), s*Math.random())
c.svg.selectAll('*').remove()
var lineData = d3.range(4).map(function(i){
return d3.range(10).map(function(j){
return i*2*Math.random() + j
c.y.domain([0, d3.max(d3.merge(lineData))])
.x(function(d, i){ return c.x(i) })
c.svg.dataAppend(lineData, 'path.trans')
.transition().duration(1000)
.each('start', function(){
.transition().duration(1000).delay(1000).ease('linear')
.each('start', function(){