D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
ruridge
Full window
Github gist
exit, enter, update, merge Notes
Built with
blockbuilder.org
<!DOCTYPE html> <head> <meta charset="utf-8"> <script src="https://d3js.org/d3.v4.min.js"></script> <style> body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; } </style> </head> <body> <script> /* exit() = stuff being removed enter() = new stuff update() = stuff staying on the screen (what data() returns) merge() enter().merge(returned by .data()) */ var width = 900 var height = 400 var rectWidth = 24 var data = [0, 1, 3, 5, 11, 13, 28, 29, 35, 37, 58] var colors = d3.scaleOrdinal(d3.schemeCategory10); var svg = d3.select("body").append("svg") .attr("width", width) .attr("height", height) // data var bars = svg.selectAll('rect') .data(data, d => d) // exit bars.exit().remove() // enter var enter = bars.enter().append('rect') .attr('width', rectWidth) .attr('stroke', '#fff') // enter + update bars = enter.merge(bars) .attr('x', (d, i) => i * rectWidth) .attr('y', d => height - d) .attr('height', d => d) .attr('fill', d => colors(d)) </script> </body>
https://d3js.org/d3.v4.min.js