Skip to content

Instantly share code, notes, and snippets.

@allardw
Last active June 8, 2019 05:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save allardw/2e6bdca7d138423f327fd947522fd9b0 to your computer and use it in GitHub Desktop.
Save allardw/2e6bdca7d138423f327fd947522fd9b0 to your computer and use it in GitHub Desktop.
Wind energy production per province in the Netherlands 1990 - 2016
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="https://d3js.org/d3.v4.min.js"></script>
<style>
body {
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 0.7em;
}
</style>
</head>
<body>
<div id="dataviz">
</div>
<script>
var width = 960;
var height = 500;
var step = 110;
var color = d3.scaleOrdinal(d3.schemeCategory10);
var svg = d3.select("#dataviz").append("svg")
.attr("width", width)
.attr("height", height);
var projection = d3.geoMercator();
var path = d3.geoPath();
d3.queue()
.defer(d3.tsv, "Windenergie_op_land__241116094832.tsv")
.defer(d3.json, "prov.json")
.defer(d3.tsv, "target.tsv")
.await(ready);
function ready(error, data, map, target) {
var targetByRegio = {};
target.forEach(function(d) {
targetByRegio[d.regio] = d.target2020;
})
mapbyId = {};
map.features.forEach(function(d) {
mapbyId[d.properties.PRVNM] = d;
});
dataProv = [];
provs = [];
var last, p;
data.forEach(function(d) {
if (d.Regio != last) {
if (p!=undefined) {
f = [mapbyId[p[0].regio]];
if (f[0] == undefined) {
f = map.features.filter(function(d) {return provs.indexOf(d.properties.PRVNM) == -1;});
}
provs.push(p[0].regio);
dataProv.push({
regio:p[0].regio,
data:p,
feature: f});
}
p = [];
}
p.push({
regio: d.Regio,
jaar: d.jaar,
vermogen: d.MW
});
last = d.Regio;
});
var provs = svg.selectAll('.prov')
.data(dataProv)
.enter().append('g')
.attr("transform", function(d,i) {return "translate("+step*i+",0)";});
var charts = provs.append("g")
.attr("transform","translate(0,140)");
var titles = provs.append("text")
.text(function(d) {return d.regio;})
.attr("transform", "translate(0,155)");
var chartw = 3.1;
var bars = charts.selectAll('verm')
.data(function(d) {return d.data;})
.enter().append("rect")
.attr("width", chartw)
.attr("height", function(d) {return d.vermogen/10;})
.attr("transform", function(d,i) {return "translate("+chartw*i+","+-(d.vermogen/10)+")";})
.style("fill", function(d) {
c = (d.jaar!=2016)?"lightblue":"steelblue";
return c;});
var targetbar = charts.append("rect")
.attr("height", function(d) {return targetByRegio[d.regio]/10})
.attr("width", chartw)
.style("fill", "darkred")
.attr("transform", function(d) {return "translate("+chartw*30+","+-(targetByRegio[d.regio]/10)+")";});
var envals = charts.append('text')
.text(function(d) {return d.data[26].vermogen + "MW";})
.attr("text-anchor", "end")
.attr("transform",function(d) {return "translate("+chartw*27+","+-(3+d.data[26].vermogen/10)+")";});
scalefactor = projection.scale();
center = d3.geoCentroid(map);
bounds = path.bounds(map);
hscale = 14*width / (bounds[1][0]-bounds[0][0]);
vscale = 14*height / (bounds[1][1]-bounds[0][1]);
scale = (hscale < vscale) ? hscale : vscale;
// TODO: center zet de kaart iets teveel naar onder, daarom een offset
offset = [width/2, (height/2-height/50)];
projection
.center(center)
.scale(scale)
.translate(offset);
path.projection(projection);
// draw map
var provincies = charts.selectAll("prov")
.data(function(d) {return d.feature})
.enter().append("path")
.attr("d", path)
.style("fill","#bcccd3")
.attr("transform",function(d,i) {
dx = -path.centroid(d)[0]+(step/2.1);
dy = -path.centroid(d)[1]+60;
return "translate(" + dx + ", " + (dy+i*60) + ")"});
}
</script>
</body>
</html>
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
regio target2020
Flevoland 1390.50
Groningen 855.5
Zuid-Holland 735.5
Noord-Holland 685.5
Zeeland 570.5
Friesland 530.5
Noord-Brabant 470.5
Drenthe 285.5
Gelderland 230.5
Limburg 95.5
Overijssel 85.5
Utrecht 65.5
We can make this file beautiful and searchable if this error is corrected: It looks like row 338 should actually have 3 columns, instead of 1. in line 337.
Regio jaar MW
Groningen 1990 1
Groningen 1991 2
Groningen 1992 2
Groningen 1993 14
Groningen 1994 15
Groningen 1995 52
Groningen 1996 54
Groningen 1997 54
Groningen 1998 55
Groningen 1999 55
Groningen 2000 57
Groningen 2001 61
Groningen 2002 61
Groningen 2003 63
Groningen 2004 64
Groningen 2005 85
Groningen 2006 136
Groningen 2007 126
Groningen 2008 329
Groningen 2009 362
Groningen 2010 362
Groningen 2011 363
Groningen 2012 377
Groningen 2013 376
Groningen 2014 379
Groningen 2015 444
Groningen 2016 447
Groningen 2017 445
Friesland 1990 12
Friesland 1991 13
Friesland 1992 15
Friesland 1993 18
Friesland 1994 25
Friesland 1995 49
Friesland 1996 55
Friesland 1997 62
Friesland 1998 65
Friesland 1999 69
Friesland 2000 70
Friesland 2001 75
Friesland 2002 77
Friesland 2003 92
Friesland 2004 105
Friesland 2005 120
Friesland 2006 128
Friesland 2007 139
Friesland 2008 145
Friesland 2009 154
Friesland 2010 158
Friesland 2011 160
Friesland 2012 164
Friesland 2013 165
Friesland 2014 169
Friesland 2015 169
Friesland 2016 191
Friesland 2017 198
Drenthe 1990 0
Drenthe 1991 0
Drenthe 1992 0
Drenthe 1993 0
Drenthe 1994 0
Drenthe 1995 0
Drenthe 1996 0
Drenthe 1997 0
Drenthe 1998 0
Drenthe 1999 0
Drenthe 2000 0
Drenthe 2001 0
Drenthe 2002 1
Drenthe 2003 1
Drenthe 2004 1
Drenthe 2005 1
Drenthe 2006 1
Drenthe 2007 1
Drenthe 2008 1
Drenthe 2009 1
Drenthe 2010 1
Drenthe 2011 3
Drenthe 2012 3
Drenthe 2013 3
Drenthe 2014 9
Drenthe 2015 22
Drenthe 2016 22
Drenthe 2017 22
Overijssel 1990 0
Overijssel 1991 0
Overijssel 1992 0
Overijssel 1993 0
Overijssel 1994 0
Overijssel 1995 0
Overijssel 1996 0
Overijssel 1997 0
Overijssel 1998 0
Overijssel 1999 0
Overijssel 2000 0
Overijssel 2001 0
Overijssel 2002
Overijssel 2003 6
Overijssel 2004 6
Overijssel 2005 6
Overijssel 2006 6
Overijssel 2007 6
Overijssel 2008 6
Overijssel 2009 6
Overijssel 2010 6
Overijssel 2011 6
Overijssel 2012 26
Overijssel 2013 26
Overijssel 2014 26
Overijssel 2015 43
Overijssel 2016 43
Overijssel 2017 43
Flevoland 1990 8
Flevoland 1991 26
Flevoland 1992 26
Flevoland 1993 27
Flevoland 1994 27
Flevoland 1995 37
Flevoland 1996 55
Flevoland 1997 66
Flevoland 1998 93
Flevoland 1999 116
Flevoland 2000 137
Flevoland 2001 153
Flevoland 2002 271
Flevoland 2003 373
Flevoland 2004 455
Flevoland 2005 493
Flevoland 2006 589
Flevoland 2007 616
Flevoland 2008 615
Flevoland 2009 616
Flevoland 2010 604
Flevoland 2011 612
Flevoland 2012 646
Flevoland 2013 778
Flevoland 2014 839
Flevoland 2015 1039
Flevoland 2016 1186
Flevoland 2017 1182
Gelderland 1990 0
Gelderland 1991 0
Gelderland 1992 0
Gelderland 1993 0
Gelderland 1994 0
Gelderland 1995 0
Gelderland 1996 0
Gelderland 1997 0
Gelderland 1998 0
Gelderland 1999 0
Gelderland 2000 0
Gelderland 2001 0
Gelderland 2002 0
Gelderland 2003 0
Gelderland 2004 0
Gelderland 2005 12
Gelderland 2006 12
Gelderland 2007 12
Gelderland 2008 36
Gelderland 2009 36
Gelderland 2010 36
Gelderland 2011 36
Gelderland 2012 36
Gelderland 2013 36
Gelderland 2014 52
Gelderland 2015 58
Gelderland 2016 82
Gelderland 2017 82
Utrecht 1990 0
Utrecht 1991 0
Utrecht 1992 0
Utrecht 1993 0
Utrecht 1994 0
Utrecht 1995 0
Utrecht 1996 0
Utrecht 1997 0
Utrecht 1998 0
Utrecht 1999 0
Utrecht 2000 0
Utrecht 2001 0
Utrecht 2002 0
Utrecht 2003 0
Utrecht 2004 0
Utrecht 2005 0
Utrecht 2006 0
Utrecht 2007 6
Utrecht 2008 6
Utrecht 2009 9
Utrecht 2010 9
Utrecht 2011 9
Utrecht 2012 21
Utrecht 2013 27
Utrecht 2014 27
Utrecht 2015 37
Utrecht 2016 37
Utrecht 2017 46
Noord-Holland 1990 10
Noord-Holland 1991 11
Noord-Holland 1992 17
Noord-Holland 1993 18
Noord-Holland 1994 21
Noord-Holland 1995 25
Noord-Holland 1996 33
Noord-Holland 1997 39
Noord-Holland 1998 45
Noord-Holland 1999 57
Noord-Holland 2000 63
Noord-Holland 2001 75
Noord-Holland 2002 93
Noord-Holland 2003 150
Noord-Holland 2004 183
Noord-Holland 2005 206
Noord-Holland 2006 223
Noord-Holland 2007 249
Noord-Holland 2008 278
Noord-Holland 2009 287
Noord-Holland 2010 306
Noord-Holland 2011 326
Noord-Holland 2012 347
Noord-Holland 2013 353
Noord-Holland 2014 354
Noord-Holland 2015 360
Noord-Holland 2016 357
Noord-Holland 2017 310
Zuid-Holland 1990 8
Zuid-Holland 1991 13
Zuid-Holland 1992 16
Zuid-Holland 1993 21
Zuid-Holland 1994 27
Zuid-Holland 1995 31
Zuid-Holland 1996 37
Zuid-Holland 1997 41
Zuid-Holland 1998 41
Zuid-Holland 1999 41
Zuid-Holland 2000 44
Zuid-Holland 2001 45
Zuid-Holland 2002 79
Zuid-Holland 2003 126
Zuid-Holland 2004 150
Zuid-Holland 2005 175
Zuid-Holland 2006 210
Zuid-Holland 2007 244
Zuid-Holland 2008 243
Zuid-Holland 2009 246
Zuid-Holland 2010 244
Zuid-Holland 2011 263
Zuid-Holland 2012 249
Zuid-Holland 2013 269
Zuid-Holland 2014 299
Zuid-Holland 2015 341
Zuid-Holland 2016 369
Zuid-Holland 2017 313
Zeeland 1990 11
Zeeland 1991 13
Zeeland 1992 21
Zeeland 1993 23
Zeeland 1994 24
Zeeland 1995 37
Zeeland 1996 38
Zeeland 1997 39
Zeeland 1998 37
Zeeland 1999 44
Zeeland 2000 46
Zeeland 2001 48
Zeeland 2002 57
Zeeland 2003 57
Zeeland 2004 79
Zeeland 2005 83
Zeeland 2006 103
Zeeland 2007 198
Zeeland 2008 208
Zeeland 2009 208
Zeeland 2010 208
Zeeland 2011 223
Zeeland 2012 241
Zeeland 2013 330
Zeeland 2014 351
Zeeland 2015 360
Zeeland 2016 363
Zeeland 2017 400
Noord-Brabant 1990 0
Noord-Brabant 1991 4
Noord-Brabant 1992 4
Noord-Brabant 1993 9
Noord-Brabant 1994 12
Noord-Brabant 1995 19
Noord-Brabant 1996 23
Noord-Brabant 1997 23
Noord-Brabant 1998 25
Noord-Brabant 1999 27
Noord-Brabant 2000 27
Noord-Brabant 2001 27
Noord-Brabant 2002 31
Noord-Brabant 2003 37
Noord-Brabant 2004 31
Noord-Brabant 2005 43
Noord-Brabant 2006 39
Noord-Brabant 2007 39
Noord-Brabant 2008 49
Noord-Brabant 2009 64
Noord-Brabant 2010 70
Noord-Brabant 2011 82
Noord-Brabant 2012 82
Noord-Brabant 2013 108
Noord-Brabant 2014 118
Noord-Brabant 2015 143
Noord-Brabant 2016 192
Noord-Brabant 2017 192
Limburg 1990 0
Limburg 1991 0
Limburg 1992 0
Limburg 1993 0
Limburg 1994 0
Limburg 1995 0
Limburg 1996 0
Limburg 1997 0
Limburg 1998 0
Limburg 1999 0
Limburg 2000 0
Limburg 2001 0
Limburg 2002 1
Limburg 2003 1
Limburg 2004 1
Limburg 2005 1
Limburg 2006 6
Limburg 2007 6
Limburg 2008 6
Limburg 2009 6
Limburg 2010 6
Limburg 2011 6
Limburg 2012 15
Limburg 2013 15
Limburg 2014 15
Limburg 2015 18
Limburg 2016 13
Limburg 2017 13
end null null
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment