using exit.remove

master
Matt Huntington 8 years ago
parent 83ac3117a4
commit a7d4efea06

@ -39,21 +39,21 @@ yDomain = d3.extent(runs, function(datum, index){
yScale.domain(yDomain); yScale.domain(yDomain);
var render = function(){ var render = function(){
d3.select('#points').html(''); var circles = d3.select('#points').selectAll('circle').data(runs, function(datum){ //when redrawing circles, make sure pre-existing circles match with their old data
d3.select('#points').selectAll('circle') return datum.id
.data(runs) });
.enter()
.append('circle');
d3.selectAll('circle') circles.enter()
.append('circle')
.attr('cy', function(datum, index){ .attr('cy', function(datum, index){
return yScale(datum.distance); return yScale(datum.distance);
}); })
d3.selectAll('circle')
.attr('cx', function(datum, index){ .attr('cx', function(datum, index){
return xScale(parseTime(datum.date)); return xScale(parseTime(datum.date));
}); });
circles.exit().remove();
d3.selectAll('circle').on('click', function(datum, index){ d3.selectAll('circle').on('click', function(datum, index){
d3.event.stopPropagation(); d3.event.stopPropagation();
runs = runs.filter(function(run, index){ runs = runs.filter(function(run, index){

Loading…
Cancel
Save