D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
romsson
Full window
Github gist
bar chart scaleband v4
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; } rect { fill: none; stroke: black; } </style> </head> <body> <script> // Feel free to change or delete any of the code you see in this editor! var svg = d3.select("body").append("svg") .attr("width", 960) .attr("height", 500); var data = d3.range(39).map(function(d, i) { return {"id": i, "value": Math.random()}; }); var x = d3.scaleBand() .domain(data.map(function(d) { return d.id; })) .range([100, 800]); var y = d3.scaleLinear() .domain([0, d3.max(data, function(d) { return d.value; })]) .range([200, 300]); var line = d3.line() .x(function(d) { return x(d.id) + x.bandwidth()/2; }) .y(function(d) { return 400 - y(d.value); }) console.log(line(data)) svg.selectAll("path").data([data]).enter() .append("path") .attr("d", line) .style("stroke", "black") .style("fill", "none"); svg.selectAll("rect").data(data).enter() .append("rect") .attr("y", function(d, i) { return 400 - y(d.value); }) .attr("x", function(d, i) { return x(d.id); }) .attr("width", x.bandwidth()) .attr("height", function(d, i) { return y(d.value); }); svg.selectAll("text").data(data).enter() .append("text") .text(function(d, i) { return d.id; }) .attr("y", function(d, i) { return 420; }) .attr("x", function(d, i) { return x(i) + x.bandwidth()/2; }) .attr("font-size", 16) .style("text-anchor", "center") .attr("font-family", "monospace") </script> </body>
https://d3js.org/d3.v4.min.js