Skip to content

Instantly share code, notes, and snippets.

@hashimkey
Last active December 22, 2016 00:38
Show Gist options
  • Select an option

  • Save hashimkey/6a2408779477da72f92e9b0b3b712730 to your computer and use it in GitHub Desktop.

Select an option

Save hashimkey/6a2408779477da72f92e9b0b3b712730 to your computer and use it in GitHub Desktop.
area-staff testing
license: mit
date Amer_8 Amer_9 Borssele_12
20141107 0 0 0
20141107 0 0 0
20141108 0 0 0
20141108 0 0 0
20141109 0 0 0
20141109 0 0 0
20141110 0 0 0
20141110 0 0 0
20141111 0 0 0
20141111 0 0 0
20141112 0 0 0
20141112 0 0 0
20141113 0 0 0
20141113 0 0 0
20141114 0 0 0
20141114 0 0 0
20141115 0 0 0
20141115 0 0 0
20141116 0 0 0
20141116 0 0 0
20141117 0 0 0
20141117 0 0 0
20141118 0 0 0
20141118 0 0 0
20141119 0 0 0
20141119 0 0 0
20141120 0 0 0
20141120 0 0 0
20141121 0 0 0
20141121 0 0 0
20141122 0 0 0
20141122 0 0 0
20141123 0 0 0
20141123 0 0 0
20141124 0 0 0
20141124 0 0 0
20141125 0 0 0
20141125 0 0 0
20141126 0 0 0
20141126 0 0 0
20141127 0 0 0
20141127 0 0 0
20141128 0 0 0
20141128 0 0 0
20141129 0 0 0
20141129 0 0 0
20141130 0 0 0
20141130 0 0 0
20141201 0 0 0
20141201 0 0 0
20141202 0 0 0
20141202 0 0 0
20141203 0 0 0
20141203 0 0 0
20141204 0 0 0
20141204 0 0 0
20141205 0 0 0
20141205 0 0 0
20141206 0 0 0
20141206 0 0 0
20141207 0 0 0
20141207 0 0 0
20141208 0 0 0
20141208 0 0 0
20141209 0 0 0
20141209 0 0 0
20141210 0 0 0
20141210 0 0 0
20141211 0 0 0
20141211 0 0 0
20141212 0 0 0
20141212 0 0 0
20141213 0 0 0
20141213 0 0 0
20141214 0 0 0
20141214 0 0 0
20141215 0 0 0
20141215 0 0 0
20141216 0 0 0
20141216 0 0 0
20141217 0 0 0
20141217 0 0 0
20141218 0 0 0
20141218 0 0 0
20141219 0 0 0
20141219 0 0 0
20141220 0 0 0
20141220 0 0 0
20141221 0 0 0
20141221 0 0 0
20141222 0 0 0
20141222 0 0 0
20141223 0 0 0
20141223 0 0 0
20141224 0 0 0
20141224 0 0 0
20141225 0 0 0
20141225 0 0 0
20141226 0 0 0
20141226 0 0 0
20141227 0 0 0
20141227 0 0 0
20141228 0 0 0
20141228 0 0 0
20141229 0 0 0
20141229 0 0 0
20141230 0 0 0
20141230 0 0 0
20141231 0 0 0
20141231 0 0 87000
20150101 0 0 63083.33333
20150101 0 0 86750
20150102 0 0 75833.33333
20150102 0 0 98750
20150103 0 0 96250
20150103 0 0 98416.66667
20150104 0 0 61583.33333
20150104 432333.3333 574666.6667 97083.33333
20150105 384833.3333 530333.3333 78416.66667
20150105 409833.3333 579500 125750
20150106 410583.3333 571166.6667 396916.6667
20150106 396500 540916.6667 365166.6667
20150107 408000 519083.3333 91500
20150107 458916.6667 536833.3333 99000
20150108 405916.6667 536333.3333 78666.66667
20150108 258166.6667 529833.3333 93583.33333
20150109 0 524416.6667 77166.66667
20150109 0 566083.3333 90916.66667
20150110 0 528333.3333 64250
20150110 0 568500 93833.33333
20150111 0 494000 49416.66667
20150111 6416.666667 551416.6667 85916.66667
20150112 303666.6667 538416.6667 73000
20150112 403333.3333 581750 97666.66667
20150113 402833.3333 543500 73750
20150113 452250 574250 98916.66667
20150114 427083.3333 553416.6667 78833.33333
20150114 471833.3333 553083.3333 111583.3333
20150115 403583.3333 533583.3333 300416.6667
20150115 419083.3333 575750 396000
20150116 447500 543666.6667 324583.3333
20150116 511333.3333 556250 399250
20150117 440250 534916.6667 343916.6667
20150117 390333.3333 574416.6667 370250
20150118 352666.6667 543166.6667 74750
20150118 182333.3333 589083.3333 124833.3333
20150119 367166.6667 562500 378583.3333
20150119 359083.3333 577833.3333 399083.3333
20150120 383750 576833.3333 396666.6667
20150120 473166.6667 563916.6667 398416.6667
20150121 416333.3333 559750 386666.6667
20150121 480416.6667 551500 385583.3333
20150122 420750 538333.3333 315000
20150122 486333.3333 540916.6667 399833.3333
20150123 461666.6667 551583.3333 373083.3333
20150123 512416.6667 554416.6667 400333.3333
20150124 419500 554166.6667 374833.3333
20150124 423916.6667 542666.6667 395583.3333
20150125 413000 552500 372833.3333
<!DOCTYPE html>
<meta charset="utf-8">
<script src="//d3js.org/d3.v3.min.js"></script>
<style>
svg {
font: 10px sans-serif;
}
.axis {
shape-rendering: crispEdges;
}
.axis path, .axis line {
fill: none;
stroke-width: .5px;
}
.x.axis path {
stroke: #000;
}
.x.axis line {
stroke: #fff;
stroke-opacity: .5;
}
.y.axis line {
stroke: #ddd;
}
path.line {
fill: none;
stroke: #000;
stroke-width: .5px;
}
rect.pane {
cursor: move;
fill: none;
pointer-events: all;
}
</style>
<body>
<script>
var margin = {top: 20, right: 60, bottom: 30, left: 20},
width = 960 - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;
var parseDate = d3.time.format("%d-%m-%Y").parse,
formatDate = d3.time.format("%Y");
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")
.tickSize(-height, 0)
.tickPadding(6);
var yAxis = d3.svg.axis()
.scale(y)
.orient("right")
.tickSize(-width)
.tickPadding(6);
var area = d3.svg.area()
.interpolate("step-after")
.x(function(d) { return x(d.date); })
.y0(y(0))
.y1(function(d) { return y(d.value); });
var line = d3.svg.line()
.interpolate("step-after")
.x(function(d) { return x(d.date); })
.y(function(d) { return y(d.value); });
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 + ")");
var zoom = d3.behavior.zoom()
.on("zoom", draw);
var gradient = svg.append("defs").append("linearGradient")
.attr("id", "gradient")
.attr("x2", "0%")
.attr("y2", "100%");
gradient.append("stop")
.attr("offset", "0%")
.attr("stop-color", "#fff")
.attr("stop-opacity", .5);
gradient.append("stop")
.attr("offset", "100%")
.attr("stop-color", "#999")
.attr("stop-opacity", 1);
svg.append("clipPath")
.attr("id", "clip")
.append("rect")
.attr("x", x(0))
.attr("y", y(1))
.attr("width", x(1) - x(0))
.attr("height", y(0) - y(1));
svg.append("g")
.attr("class", "y axis")
.attr("transform", "translate(" + width + ",0)");
svg.append("path")
.attr("class", "area")
.attr("clip-path", "url(#clip)")
.style("fill", "url(#gradient)");
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")");
svg.append("path")
.attr("class", "line")
.attr("clip-path", "url(#clip)");
svg.append("rect")
.attr("class", "pane")
.attr("width", width)
.attr("height", height)
.call(zoom);
d3.tsv("data.tsv", function(error, data) {
if (error) throw error;
data.forEach(function(d) {
d.date = parseDate(d.date);
d.value = +d.value;
});
x.domain([new Date(2014, 0, 1), new Date(2015, 0, 0)]);
y.domain([0, d3.max(data, function(d) { return d.value; })]);
zoom.x(x);
svg.select("path.area").data([data]);
svg.select("path.line").data([data]);
draw();
});
function draw() {
svg.select("g.x.axis").call(xAxis);
svg.select("g.y.axis").call(yAxis);
svg.select("path.area").attr("d", area);
svg.select("path.line").attr("d", line);
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment