Skip to content

Instantly share code, notes, and snippets.

@enjalot
Created May 3, 2013 23:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save enjalot/5515009 to your computer and use it in GitHub Desktop.
Save enjalot/5515009 to your computer and use it in GitHub Desktop.
chained transitions
{"description":"chained transitions","endpoint":"","display":"svg","public":true,"require":[],"fileconfigs":{"inlet.js":{"default":true,"vim":false,"emacs":false,"fontSize":12},"_.md":{"default":true,"vim":false,"emacs":false,"fontSize":12},"config.json":{"default":true,"vim":false,"emacs":false,"fontSize":12}},"fullscreen":false,"play":false,"loop":false,"restart":false,"autoinit":true,"pause":true,"loop_type":"period","bv":false,"nclones":15,"clone_opacity":0.4,"duration":3000,"ease":"linear","dt":0.01,"thumbnail":"http://i.imgur.com/BhmR44O.png"}
var data = [{id:'a', value:10},
{id:'b', value:20},
{id:'c', value:30}];
var svg = d3.select("svg")
var circles = svg.selectAll("circle")
.data(data, function(d) { return d.id})
.enter()
.append("circle")
.attr({
cx: function(d,i) { return 100 + i * 199 },
cy: 100,
r: function(d) { return d.value }
})
var button = svg.append("rect")
.attr({
x: 243,
y: 286,
width: 100,
height: 20
})
.on("click", function() {
//"new data"
data = [{id:'b', value:50}];
svg.selectAll("circle")
.data(data, function(d) { return d.id })
.transition()
.duration(1500)
.attr("r", function(d) { return d.value })
.transition()
.style("fill", "#ffffff")
.transition()
.style("fill", "#000000")
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment