Built with blockbuilder.org
forked from romsson's block: D3 bar chart without data-binding
forked from anonymous's block: D3 bar chart without data-binding
forked from romsson's block: D3 bar chart without data-binding
license: mit |
Built with blockbuilder.org
forked from romsson's block: D3 bar chart without data-binding
forked from anonymous's block: D3 bar chart without data-binding
forked from romsson's block: D3 bar chart without data-binding
<!DOCTYPE html> | |
<head> | |
<meta charset="utf-8"> | |
<script src="https://d3js.org/d3.v4.min.js"></script> | |
<style> | |
rect { | |
fill: none; | |
stroke: black; | |
stroke-width: 1; | |
} | |
</style> | |
</head> | |
<body> | |
<script> | |
var n = 10; | |
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, 19, 30, 50, 19, 30, 87]; | |
var y = d3.scaleLinear() | |
.domain([0, d3.max(data)]) | |
.range([0, 100]); | |
svg.selectAll("rect").data(data) | |
.enter() | |
.append("rect") | |
.attr("width", 50) | |
.attr("height", function(d) { return y(d); }) | |
.attr("x", function(d, i) { return i * 55; }) | |
.attr("y", function(d) { return 200 - y(d); }) | |
setInterval(function(d) { | |
data = d3.range(data.length).map(function() { | |
return Math.random(); | |
}); | |
y.domain([0, 1]) | |
.range([0, 100]); | |
svg.selectAll("rect").data(data).transition() | |
.attr("height", function(d) { return y(d); }) | |
.attr("y", function(d) { return 200 - y(d); }) | |
}, 500); | |
</script> | |
</body> |