Skip to content

Instantly share code, notes, and snippets.

@martgnz
martgnz / bcn-rent.csv
Created May 4, 2016 14:59
Rent in Barcelona by neigbourhoods in 2014
id barri poblacio index ranking
01 el Raval 48.471 65.9 53
02 el Barri Gótic 15.911 98.5 21
03 la Barceloneta 15.181 84.5 32
04 Sant Pere Santa Caterina i la Ribera 22.674 92.5 24
05 el Fort Pienc 31.785 104.5 17
06 la Sagrada Família 51.562 92.4 25
07 la Dreta de l'Eixample 43.749 165.3 7
08 l'Antiga Esquerra de l'Eixample 41.975 127.8 11
09 la Nova Esquerra de l'Eixample 57.863 109.1 15
@martgnz
martgnz / 2016-word-press-freedom-index.csv
Created May 3, 2016 15:53
2016 World Press Freedom Index Data
ranking fill country
1 #fff0b3 Finland
2 #fff0b3 Netherlands
3 #fff0b3 Norway
4 #fff0b3 Denmark
5 #fff0b3 New Zealand
6 #fff0b3 Costa Rica
7 #fff0b3 Switzerland
8 #fff0b3 Sweden
9 #fff0b3 Ireland
@martgnz
martgnz / .block
Last active October 28, 2017 13:19
2016 World Press Freedom Index
license: mit
border: none
@martgnz
martgnz / map.js
Last active May 3, 2016 17:03
Basic Spam.js map
d3.json("map.json", function(error, d) {
topojson.presimplify(d)
var map = new StaticCanvasMap({
element: "body",
data: [
{
features: topojson.feature(d, d.objects["map"]),
static: {
paintfeature: function(parameters, d) {
@martgnz
martgnz / .block
Last active October 28, 2017 13:31
Canvas shadows
license: mit
border: none
@martgnz
martgnz / .block
Last active July 15, 2018 23:50
Chatty Map
license: mit
border: none
height: 510
@martgnz
martgnz / .block
Last active September 13, 2019 09:29
Choropleth III
license: mit
border: none
height: 690
@martgnz
martgnz / .block
Last active October 28, 2017 13:54
Choropleth II
license: mit
border: none
height: 1096
@martgnz
martgnz / .block
Last active October 28, 2017 14:01
Choropleth I
license: mit
border: none
height: 1096
var StaticCanvasMap;var ZoomableCanvasMap;!function(){"use strict";function inside(pt,polygon){var polys=polygon.geometry.coordinates;if(polygon.geometry.type==="Polygon")polys=[polys];var insidePoly=false;var i=0;while(i<polys.length&&!insidePoly){if(inRing(pt,polys[i][0])){var inHole=false;var k=1;while(k<polys[i].length&&!inHole){if(inRing(pt,polys[i][k])){inHole=true}k++}if(!inHole)insidePoly=true}i++}return insidePoly}function inRing(pt,ring){var isInside=false;for(var i=0,j=ring.length-1;i<ring.length;j=i++){var xi=ring[i][0],yi=ring[i][1];var xj=ring[j][0],yj=ring[j][1];var intersect=yi>pt[1]!==yj>pt[1]&&pt[0]<(xj-xi)*(pt[1]-yi)/(yj-yi)+xi;if(intersect)isInside=!isInside}return isInside}function maxBounds(one,two){var bounds=two;if(one[0][0]<two[0][0])bounds[0][0]=one[0][0];if(one[0][1]<two[0][1])bounds[0][1]=one[0][1];if(one[1][0]>two[1][0])bounds[1][0]=one[1][0];if(one[1][1]>two[1][1])bounds[1][1]=one[1][1];return bounds}function createRTree(element,dataPath){element.lookupTree=rbush(4);var elements=