Last active
August 29, 2015 14:05
-
-
Save nickpeihl/f1fae365f56fa3cad5d0 to your computer and use it in GitHub Desktop.
San Juan County Political Contributions Visualized
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "2013 Contribution Totals", | |
"children" : [ | |
{ | |
"rID" : "0194b2d1d3db739c1ef2144a7754f890", | |
"name" : "WA ST NATL ORG FOR WOMEN PAC", | |
"year" : 2013, | |
"amount" : 10 | |
}, | |
{ | |
"rID" : "03673039a81cf0dec816426987cdd2e0", | |
"name" : "SAWANT KSHAMA", | |
"year" : 2013, | |
"amount" : 60 | |
}, | |
{ | |
"rID" : "03e91def26bb02a16b08304bb6a3b4ea", | |
"name" : "PHYSICIANS EYEPAC - WA ACADEMY OF EYE PHYSICIANS & SURGEONS", | |
"year" : 2013, | |
"amount" : 300 | |
}, | |
{ | |
"rID" : "07a75263986088b7dea267dcb716fb12", | |
"name" : "FARMERS EMPLOYEES AND AGENTS PAC", | |
"year" : 2013, | |
"amount" : 220 | |
}, | |
{ | |
"rID" : "07ce5e5b0b919e01bc2837d8cc9de21e", | |
"name" : "ANGEL JANICE E", | |
"year" : 2013, | |
"amount" : 2450 | |
}, | |
{ | |
"rID" : "08d1ed490f8ff1c09edcbeea590377d8", | |
"name" : "SAN JUAN CO REPUB CENT COMM EXEMPT", | |
"year" : 2013, | |
"amount" : 3757 | |
}, | |
{ | |
"rID" : "0a3cf243a4da78f2480a6ab0778d5e2f", | |
"name" : "CIT ALLIANCE FOR PROPERTY RIGHTS", | |
"year" : 2013, | |
"amount" : 115 | |
}, | |
{ | |
"rID" : "0a90e52379287f98619491d9b348fd8e", | |
"name" : "INSLEE JAY R", | |
"year" : 2013, | |
"amount" : 100 | |
}, | |
{ | |
"rID" : "0aabc061c72b4ac3b06568b60fcd5525", | |
"name" : "NORTHWEST MARINE TRADE ASSN PAC", | |
"year" : 2013, | |
"amount" : 65 | |
}, | |
{ | |
"rID" : "0d6bd8797bbe3a7fd1c070cc0fc1efd4", | |
"name" : "BROWNE RUTHERFORD P", | |
"year" : 2013, | |
"amount" : 350 | |
}, | |
{ | |
"rID" : "0d9e893599e61a49439745acb9a927c9", | |
"name" : "WHATCOM CO DEMO CENT COMM NON EXEMPT", | |
"year" : 2013, | |
"amount" : 350 | |
}, | |
{ | |
"rID" : "0f8297b9e26cb9c8de9d6bd674c20c6a", | |
"name" : "MCCLERREN BRIAN D", | |
"year" : 2013, | |
"amount" : 2900 | |
}, | |
{ | |
"rID" : "2f1ad7a180865f1d8fe2f3cd7fc5a71c", | |
"name" : "FOOD DEMOCRACY ACTION! YES ON I-522 COMM TO LABEL GMOS IN WA", | |
"year" : 2013, | |
"amount" : 137.2 | |
}, | |
{ | |
"rID" : "2fca9ca4195d9103890fc89f3d0f5405", | |
"name" : "SNYDER JON B", | |
"year" : 2013, | |
"amount" : 100 | |
}, | |
{ | |
"rID" : "3a2d5bb6f8a98695f7c9e95ce6b95333", | |
"name" : "WA FOOD INDUSTRY", | |
"year" : 2013, | |
"amount" : 290 | |
}, | |
{ | |
"rID" : "3ae9b7f3b1c8fab093b3a6645e2af05e", | |
"name" : "YES ON I-522 COMM", | |
"year" : 2013, | |
"amount" : 1309.16 | |
}, | |
{ | |
"rID" : "3cd6c4c62f6f69946be607bef7ba2017", | |
"name" : "WHATCOM COMMERCIAL FISHERMANS ASSN PAC", | |
"year" : 2013, | |
"amount" : 200 | |
}, | |
{ | |
"rID" : "43eb2877084ff40c3553287b7c072590", | |
"name" : "MORRIS JEFFREY R", | |
"year" : 2013, | |
"amount" : 200 | |
}, | |
{ | |
"rID" : "457c31dd4f9132174d699aae9f6e9126", | |
"name" : "TRUST ISLANDERS", | |
"year" : 2013, | |
"amount" : 17050 | |
}, | |
{ | |
"rID" : "49f8b8c4c8316aaebd6976397678057e", | |
"name" : "LEWIS PETER B", | |
"year" : 2013, | |
"amount" : 50 | |
}, | |
{ | |
"rID" : "4fd1b15fa02e57d4c764b05e53a8888d", | |
"name" : "WA ST VETERINARY MEDICAL ASSN WSVMA PAC", | |
"year" : 2013, | |
"amount" : 50 | |
}, | |
{ | |
"rID" : "55f580c89574cbd210accd328fdac1a4", | |
"name" : "WA SENATE DEMO CAMP", | |
"year" : 2013, | |
"amount" : 700 | |
}, | |
{ | |
"rID" : "58f05f289cd8ec264e0ab1ddaaa5269c", | |
"name" : "WEIMER CARL M", | |
"year" : 2013, | |
"amount" : 75 | |
}, | |
{ | |
"rID" : "611ecd67f728a0eddf51471af88cb5be", | |
"name" : "BYERS ELISABETH C", | |
"year" : 2013, | |
"amount" : 2150 | |
}, | |
{ | |
"rID" : "67e0f464dd31b2f60e9732e83fb281fe", | |
"name" : "WA RESTAURANT ASSN PAC", | |
"year" : 2013, | |
"amount" : 351 | |
}, | |
{ | |
"rID" : "6959fda0e86535d98747cc36fa81d9ae", | |
"name" : "FIREFIGHTERS ACTION SUPPORT TEAM", | |
"year" : 2013, | |
"amount" : 36 | |
}, | |
{ | |
"rID" : "71d2d9a9426ba688a05d807a351e8aa0", | |
"name" : "SEVERNS ROBERT T", | |
"year" : 2013, | |
"amount" : 200 | |
}, | |
{ | |
"rID" : "74d7b9ea30c60315bf9890ea48868586", | |
"name" : "PLANNED PARENTHOOD VOTES WASHINGTON PAC", | |
"year" : 2013, | |
"amount" : 460 | |
}, | |
{ | |
"rID" : "75b594f0698f2e3f433efe9bfebdae1a", | |
"name" : "JARMAN ROBERT N JR", | |
"year" : 2013, | |
"amount" : 14319.57 | |
}, | |
{ | |
"rID" : "81b2379133e21f7d3c8b927196aa99cc", | |
"name" : "WA PILOTS ASSN PAC", | |
"year" : 2013, | |
"amount" : 50 | |
}, | |
{ | |
"rID" : "8771e4a81b3ca591f96e3b64d9cbdb01", | |
"name" : "WA ALLIANCE FOR GUN RESPONSIBILITY", | |
"year" : 2013, | |
"amount" : 100 | |
}, | |
{ | |
"rID" : "8bf8505333fc4de16e5341a14b6eab01", | |
"name" : "PRATT LOVEL", | |
"year" : 2013, | |
"amount" : 5273.93 | |
}, | |
{ | |
"rID" : "8f8b6ebf810b46ee5487981e0bd6635f", | |
"name" : "HELP US HELP TAXPAYERS", | |
"year" : 2013, | |
"amount" : 400 | |
}, | |
{ | |
"rID" : "989e8cce76a9874ab47adf18cb2e2e19", | |
"name" : "WA REALTORS PAC", | |
"year" : 2013, | |
"amount" : 135 | |
}, | |
{ | |
"rID" : "9f7b4df4e5268daea69c1316eb6d298c", | |
"name" : "STOBER TY", | |
"year" : 2013, | |
"amount" : 200 | |
}, | |
{ | |
"rID" : "a90325a5cae885b469e9ba1122ce4b70", | |
"name" : "WA ST DENTAL PAC", | |
"year" : 2013, | |
"amount" : 500 | |
}, | |
{ | |
"rID" : "aa29349bbd9d0745650de1c59cd03603", | |
"name" : "WA LODGING ASSN PAC", | |
"year" : 2013, | |
"amount" : 50 | |
}, | |
{ | |
"rID" : "ad65f06d35a4dea469c973d10c199f5d", | |
"name" : "SEATTLE FIREFIGHTERS UNION LOCAL 27 VOLUNTARY PAC", | |
"year" : 2013, | |
"amount" : 90 | |
}, | |
{ | |
"rID" : "ae1517285f9ac3f639e3bfb1e742bc82", | |
"name" : "WA ST DEMO CENT COMM NON EXEMPT", | |
"year" : 2013, | |
"amount" : 285 | |
}, | |
{ | |
"rID" : "b04b6b6dc3e1572df9c7e66fae180c56", | |
"name" : "ORGANIC CONSUMERS FUND COMM TO LABEL GMOS IN WA ST", | |
"year" : 2013, | |
"amount" : 135 | |
}, | |
{ | |
"rID" : "b358eac0d67ed1e6c0424c79f260db6c", | |
"name" : "STEPHENS JAMES D JR", | |
"year" : 2013, | |
"amount" : 985 | |
}, | |
{ | |
"rID" : "c7294631ab7bef4f8a7fe6da931f0c46", | |
"name" : "FORLENZA MARC A", | |
"year" : 2013, | |
"amount" : 4190 | |
}, | |
{ | |
"rID" : "d95d101070a2ce838487040add10f3e7", | |
"name" : "WA EDUCATION ASSN PAC", | |
"year" : 2013, | |
"amount" : 149.5 | |
}, | |
{ | |
"rID" : "de1dd55201aa271159ba1ea3bc53e8aa", | |
"name" : "WA HOSPITAL PAC", | |
"year" : 2013, | |
"amount" : 800 | |
}, | |
{ | |
"rID" : "e25f0e712665359c119dcd40f589a671", | |
"name" : "AYERS GREGORY M", | |
"year" : 2013, | |
"amount" : 450 | |
}, | |
{ | |
"rID" : "e534e78514947e727c32426dcc0a3c3f", | |
"name" : "BIG I PAC", | |
"year" : 2013, | |
"amount" : 75 | |
}, | |
{ | |
"rID" : "ec0282b8e24a2b74b39a51c1b94c4ec9", | |
"name" : "HUGHES CHARLES (RICK) R II", | |
"year" : 2013, | |
"amount" : 1625 | |
}, | |
{ | |
"rID" : "fc43af41f72a2c980ba924f5c5e6c34a", | |
"name" : "40TH LEG DIST DEMO NON EXEMPT", | |
"year" : 2013, | |
"amount" : 80 | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
text { | |
font: 10px sans-serif; | |
} | |
</style> | |
<body> | |
<script src="http://d3js.org/d3.v3.min.js"></script> | |
<script> | |
var diameter = 960, | |
format = d3.format(",d"), | |
color = d3.scale.category20c(); | |
var bubble = d3.layout.pack() | |
.sort(null) | |
.size([diameter, diameter]) | |
.padding(1.5); | |
var svg = d3.select("body").append("svg") | |
.attr("width", diameter) | |
.attr("height", diameter) | |
.attr("class", "bubble"); | |
d3.json("contributions_totals.json", function(error, root) { | |
var node = svg.selectAll(".node") | |
.data(bubble.nodes(classes(root))) | |
.enter().append("g") | |
.attr("class", "node") | |
.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; }); | |
node.append("title") | |
.text(function(d) { return d.className + ": " + format(d.value); }); | |
node.append("circle") | |
.attr("r", function(d) { return d.r; }) | |
.style("fill", function(d) { return color(d.packageName); }); | |
node.append("text") | |
.attr("dy", ".3em") | |
.style("text-anchor", "middle") | |
.text(function(d) { return d.className.substring(0, d.r / 3); }); | |
}); | |
// Returns a flattened hierarchy containing all leaf nodes under the root. | |
function classes(root) { | |
var classes = []; | |
function recurse(name, node) { | |
if (node.children) node.children.forEach(function(child) { recurse(node.name, child); }); | |
else classes.push({packageName: node.year, className: node.name, value: node.amount}); | |
} | |
recurse(null, root); | |
return {children: classes}; | |
} | |
d3.select(self.frameElement).style("height", diameter + "px"); | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment