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
forked from romsson's block: D3 bar chart with animation
xxxxxxxxxx
<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 w = 960;
var h = 500;
var svg = d3.select("body").append("svg")
.attr("width", w)
.attr("height", h);
var data = d3.range(n).map(function() {
return Math.random();
});
var x = d3.scaleBand()
.rangeRound([0, w])
.domain(d3.range(n));
var y = d3.scaleLinear()
.domain([0, d3.max(data)])
.range([0, h]);
var color2 = d3.scaleLinear()
.domain([0, d3.max(data)])
.range(["yellow", "green"])
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); })
.style("fill", color2)
setInterval(function(d) {
data = d3.range(data.length).map(function() {
return Math.random();
});
color2.domain([0, d3.max(data)])
.range(["yellow", "green"])
y.domain([0, 1])
.range([0, 100]);
svg.selectAll("rect").data(data).transition()
//.attr("duration", 1000)
//.attr("delay", function(d, i) { return i*1000;})
.attr("height", function(d) { return y(d); })
.attr("y", function(d) { return 200 - y(d); })
.style("fill", color2)
}, 500);
</script>
</body>
https://d3js.org/d3.v4.min.js