Skip to content

Instantly share code, notes, and snippets.

@flunky
Last active April 15, 2017 04:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save flunky/1a8b1bb608c06736f1ed4015065cbbb0 to your computer and use it in GitHub Desktop.
Save flunky/1a8b1bb608c06736f1ed4015065cbbb0 to your computer and use it in GitHub Desktop.
D3 (v4) Bar Chart With Axes
<!DOCTYPE html>
<script src="http://d3js.org/d3.v4.min.js"></script>
<style> .chart rect { fill: steelblue } </style>
<html><body>
<p>Here are the magic numbers from Lost: <span id="data"></span></p>
<svg class="chart"></svg>
<script>
var margin = 30;
var width = 120;
var height = 300;
var data = [4,8,15,16,23,42];
document.getElementById("data").innerHTML = data;
var x = d3.scaleBand()
.domain([0,1,2,3,4,5])
.range([0,width]);
var y = d3.scaleLinear()
.domain([0,42])
.range([height,0]);
var chart = d3.select(".chart");
chart.attr("width",width + 2*margin)
.attr("height",height + 2*margin)
.append("g")
.attr("transform","translate(" + margin + "," + margin + ")")
.selectAll("rect")
.data(data)
.enter().append("rect")
.attr("width",19)
.attr("height",function(d) { return height - y(d); })
.attr("x",function(d,i) { return x(i); })
.attr("y",function(d) { return y(d); });
chart.append("g")
.attr("transform", "translate(" + margin + "," + margin + ")")
.call(d3.axisLeft(y));
chart.append("g")
.attr("transform", "translate(" + margin + "," + (height+margin) + ")")
.call(d3.axisBottom(x));
</script>
</body></html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment