Why a bar chart for 800 rows of data will end in tears and repetitive strain injury.
Data is political donations above £7500 made to Labour, Conservative and Liberal Democrat parties in the United Kingdom between May 2010 and August 2013.
name | color | entity | |
---|---|---|---|
Conservative Party | #0087DC | party | |
Labour Party | #DC241f | party | |
Liberal Democrats | #FDBB30 | party | |
UKIP | #70147A | party | |
Unite | #aabbcc | donor | |
Joan Edwards* | #aabbcc | donor | |
GMB | #aabbcc | donor | |
UNISON | #aabbcc | donor | |
USDAW | #aabbcc | donor |
import scraperwiki, urllib2, re, time | |
import lxml.html | |
from pprint import pprint | |
decades = [x*10 for x in range(189,202)] | |
for decade in decades: | |
years = [decade+y for y in range(10)] | |
for year in years: | |
url = 'http://www.bbc.co.uk/proms/archive/search/'+str(decade)+'s/'+str(year) |
<!DOCTYPE html> | |
<html lang='en'> | |
<head> | |
<meta charset='utf-8'> | |
<title>dc.js Experiment</title> | |
<script src='bower_components/d3/d3.js' type='text/javascript'></script> | |
<script src='bower_components/crossfilter/crossfilter.js' type='text/javascript'></script> | |
<script src='dc.js' type='text/javascript'></script> |
Why a bar chart for 800 rows of data will end in tears and repetitive strain injury.
Data is political donations above £7500 made to Labour, Conservative and Liberal Democrat parties in the United Kingdom between May 2010 and August 2013.
// Ways to sort an array of objects | |
var arr = [{"member_id":"40323","person_id":"24709","name":"Bridget Phillipson","party":"Labour","constituency":"Houghton and Sunderland South","office":[]},{"member_id":"40636","person_id":"11592","name":"Sharon Hodgson","party":"Labour","constituency":"Washington and Sunderland West","office":[]},{"member_id":"40592","person_id":"24710","name":"Julie Elliott","party":"Labour","constituency":"Sunderland Central","office":[]},{"member_id":"40068","person_id":"13814","name":"Naomi Long","party":"Alliance","constituency":"Belfast East","office":[]},{"member_id":"40428","person_id":"13852","name":"Ian Paisley Jnr","party":"DUP","constituency":"North Antrim"},{"member_id":"40653","person_id":"10858","name":"Pat Doherty","party":"Sinn Fein","constituency":"West Tyrone"},{"member_id":"40434","person_id":"11003","name":"Kevan Jones","party":"Labour","constituency":"North Durham","office":[]},{"member_id":"40606","person_id":"10626","name":"Steve Webb","party":"Liberal Democrat","c |
gistup |
var casper = require("casper").create({ | |
verbose: true, | |
loglevel: "debug" | |
}); | |
var response = [], url, site, viewportWidth = 1280, viewportHeight = 1024; | |
var captureSize = {top: 0, left: 0, width: viewportWidth, height: viewportHeight}; | |
// to get screenshot folder name from url | |
var re = /url=(\w+)\./; |
var fs = require("fs"); | |
function main() { | |
fs.readdir("./node_modules", function (err, dirs) { | |
if (err) { | |
console.log(err); | |
return; | |
} | |
dirs.forEach(function(dir){ | |
if (dir.indexOf(".") !== 0) { |
var INCR = 10; // Number of messages per page | |
var SENT_URL = '//www.linkedin.com/inbox/sent?startRow='; | |
var loMessageLinks = []; // Main array for all contacts | |
var fetchMessages = function(i, cb) { | |
console.log('Fetching message page #' + (i+1)); | |
$.get(SENT_URL + (i*INCR), function(data){ | |
var $dom = $(data); | |
[ | |
{ | |
"op": "core/text-transform", | |
"engineConfig": { | |
"facets": [], | |
"mode": "row-based" | |
}, | |
"columnName": "Value", | |
"expression": "grel:value.replace(/[,£]/,'').toNumber()", | |
"onError": "keep-original", |