var margin = 50, width = tributary.sw, height = tributary.sh; var data = tributary.bus_perf; var svg = d3.select("svg"); svg.attr("width",width) .attr("height",height) .selectAll("circle") .data(data) .enter() .append("circle"); var x_extent = d3.extent(data, function(d){ return d.collision_with_injury}); var x_scale = d3.scale.linear().range([margin,width-margin]).domain(x_extent); var y_extent = d3.extent(data, function(d){ return d.dist_between_fail}); var y_scale = d3.scale.linear().range([height-margin, margin]).domain(y_extent); d3.selectAll("circle") .attr("cx", function(d){ return x_scale(d.collision_with_injury)}) .attr("cy", function(d){ return y_scale(d.dist_between_fail)}); d3.selectAll("circle") .attr("r", 5); var x_axis = d3.svg.axis().scale(x_scale); svg.append("g") .attr("class","x axis") .attr("transform", "translate(0, "+ (height-margin) + ")" ) .call(x_axis); var y_axis = d3.svg.axis().scale(y_scale).orient("left"); svg.append("g") .attr("class","y axis") .attr("transform", "translate("+ margin + ", 0)" ) .call(y_axis);