D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
aurelient
Full window
Github gist
Barchart avec hover
Built with
blockbuilder.org
<!DOCTYPE html> <head> <meta charset="utf-8"> <script src="https://d3js.org/d3.v5.min.js"></script> <style> rect { fill: white; stroke: black; stroke-width: 1px; } path { fill: none; stroke: black; } </style> </head> <body> <script> var svg = d3.select("body").append("svg") .attr("width", 960) .attr("height", 500); var data = [22, 32, 21, 23, 10, 22, 11, 19, 30, 50]; var x = d3.scaleLinear().range([0, 500]).domain([0, data.length]); var y = d3.scaleLinear().range([0, 100]).domain([0, d3.max(data)]); var g = svg.append("g").attr("transform", "translate(100, 0)"); g.selectAll("text").data(data).enter().append("text") .text(function(d) { return d; }) .attr("y", 200) .attr("x", function(d, i) { return x(i) + 20; }) .style("font-size", 12) .style("text-anchor", "middle"); g.selectAll("rect").data(data).enter().append("rect") .attr("x", function(d, i) { return x(i); }) .attr("y", function(d) { return 170 - y(d); }) .attr("height", function(d) { return y(d); }) .attr("width", 500 / data.length - 10 ) .on("mouseover", function(d, i) { d3.select(this).style("fill", "grey"); }) .on("mouseout", function(d, i) { d3.select(this).style("fill", "white"); }); </script> </body>
https://d3js.org/d3.v5.min.js