Skip to content

Instantly share code, notes, and snippets.

@sampathweb
Created March 13, 2016 22:13
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 sampathweb/9e74fc8d5016dd6e9584 to your computer and use it in GitHub Desktop.
Save sampathweb/9e74fc8d5016dd6e9584 to your computer and use it in GitHub Desktop.
D3 meetup: Simple Scatter
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script>
<style>
body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; }
svg { width:100%; height: 100% }
</style>
</head>
<body>
<script>
// Feel free to change or delete any of the code you see!
var svg = d3.select("body").append("svg");
var url = "https://numeracy.co/projects/382368K6Bkx/data?format=csv";
d3.csv(url)
.row(function(d) {
return {
name: d.name,
age: parseFloat(d.age),
date: new Date(d.month + "/" + d.day + "/" + d.year)
}
})
.get(function(err, data) {
var counted = [];
data.forEach(function(d) {
if (d.age) {
counted.push(d);
}
});
var maxAge = d3.max(counted, function(d, i) { return d.age});
console.log(maxAge)
var yScale = d3.scale.linear()
.domain([0, maxAge])
.range([500, 10]);
var dateExtent = d3.extent(counted, function(d) {
return d.date
})
var xscale = d3.time.scale()
.domain(dateExtent)
.range([10, 900])
var circles = svg.selectAll("circle").data(counted);
circles.enter()
.append("circle")
.attr({
cx: function(d, i) {
return i * 25
},
cy: function(d, i) {return yScale(d.age)},
r: 10
})
.on("click", function(d, i) {
console.log("clicked", d, i);
})
});
console.log("you are now rocking with d3", d3);
</script>
</body>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment