Skip to content

Instantly share code, notes, and snippets.

@arfon
Last active August 29, 2015 13:55
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 arfon/8726165 to your computer and use it in GitHub Desktop.
Save arfon/8726165 to your computer and use it in GitHub Desktop.
Linguist Pull Requests

Fraction of pull requests to Linguist merged over time (grouped by month) that are collaborative. The size of the dot is proportional to the number of pull requests in that time period (mouseover to see the count).

Data pulled from the GitHub API:

<!DOCTYPE html>
<meta charset="utf-8">
<style>
body {
font: 12px sans-serif;
}
.axis path,
.axis line {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}
.dot {
stroke: red;
fill: red;
}
h1{
padding-left:25px;
}
</style>
<body>
<script src="http://d3js.org/d3.v3.js"></script>
<script>
var margin = {top: 20, right: 20, bottom: 30, left: 50},
width = 960 - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;
var parseDate = d3.time.format("%Y-%m-%d").parse;
var x = d3.time.scale()
.range([0, width]);
var y = d3.scale.linear()
.range([height, 0]);
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom");
var yAxis = d3.svg.axis()
.scale(y)
.orient("left");
var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
d3.tsv("linguist_collaborative_fraction.tsv", function(error, data) {
data.forEach(function(d) {
d.date = parseDate(d.date);
d.unix_date = +d.unix_date;
d.collab_count = +d.collab_count;
d.not_collab_count = +d.not_collab_count;
d.count = +d.count;
d.collab_fraction = +d.collab_fraction;
});
x.domain(d3.extent(data, function(d) { return d.date; }));
y.domain([0,0.601]);
var median_pull_count = d3.median(data, function(d) { return d.count; });
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis);
svg.append("g")
.attr("class", "y axis")
.call(yAxis)
.append("text")
.attr("transform", "rotate(-90)")
.attr("y", 6)
.attr("dy", ".71em")
.style("text-anchor", "end")
.text("Collaborative fraction");
svg.selectAll(".dot")
.data(data)
.enter().append("circle")
.attr("class", "dot")
.attr("r", function(d) { return 3 * d.count/median_pull_count; })
.attr("cx", function(d) { return x(d.date); })
.attr("cy", function(d) { return y(d.collab_fraction); })
.append("svg:title")
.text(function(d) { return d.count; });
});
</script>
date unix_date collab_count not_collab_count count collab_fraction
2011-06-01 1306886400000 1 12 13 0.07692307692307693
2011-07-01 1309478400000 9 21 30 0.3
2011-08-01 1312156800000 1 9 10 0.1
2011-09-01 1314835200000 1 8 9 0.1111111111111111
2011-10-01 1317427200000 0 5 5 0.0
2011-11-01 1320105600000 0 7 7 0.0
2011-12-01 1322697600000 1 8 9 0.1111111111111111
2012-01-01 1325376000000 1 5 6 0.16666666666666666
2012-02-01 1328054400000 2 14 16 0.125
2012-03-01 1330560000000 9 7 16 0.5625
2012-04-01 1333238400000 4 6 10 0.4
2012-05-01 1335830400000 2 7 9 0.2222222222222222
2012-06-01 1338508800000 4 9 13 0.3076923076923077
2012-07-01 1341100800000 3 13 16 0.1875
2012-08-01 1343779200000 12 13 25 0.48
2012-09-01 1346457600000 5 11 16 0.3125
2012-10-01 1349049600000 4 10 14 0.2857142857142857
2012-11-01 1351728000000 5 6 11 0.45454545454545453
2012-12-01 1354320000000 9 8 17 0.5294117647058824
2013-01-01 1356998400000 16 15 31 0.5161290322580645
2013-02-01 1359676800000 10 26 36 0.2777777777777778
2013-03-01 1362096000000 12 19 31 0.3870967741935484
2013-04-01 1364774400000 5 20 25 0.2
2013-05-01 1367366400000 2 16 18 0.1111111111111111
2013-06-01 1370044800000 6 13 19 0.3157894736842105
2013-07-01 1372636800000 11 20 31 0.3548387096774194
2013-08-01 1375315200000 8 23 31 0.25806451612903225
2013-09-01 1377993600000 11 15 26 0.4230769230769231
2013-10-01 1380585600000 13 19 32 0.40625
2013-11-01 1383264000000 10 24 34 0.29411764705882354
2013-12-01 1385856000000 22 38 60 0.36666666666666664
2014-01-01 1388534400000 11 15 26 0.4230769230769231
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment