D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
mars009
Full window
Github gist
Explanation of data, enter and append & enter/exit props when .data is called
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; } svg { width: 100%; height: 100%; } </style> </head> <body> <svg></svg> </body> <script> var rectWidth = 100; var height = 300; var data = [100 , 250 , 175, 200, 120]; var svg = d3.select('svg'); var dataSvg = svg.selectAll('rect') .data(data); // '.data(someData)' always returns you an object containing an enter & exit // state, which you can manipulate to do your updates! console.log(dataSvg); dataSvg.enter().append('rect') .attr('x', (d, i) => i * rectWidth) // To get the y axis showing from the bottom to top we // substract the data from the height. This is due to // how the coordinate system of svg works .attr('y', d => height - d) .attr('width', rectWidth) .attr('height', d => d) .attr('fill', 'blue') .attr('stroke', '#fff'); // Shows all the nodes you have console.log(enter.nodes()); // Shows you the data that is being bound console.log(enter.data()); </script>
https://d3js.org/d3.v4.min.js