Skip to content

Instantly share code, notes, and snippets.

@zellyn
Created October 5, 2012 04:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zellyn/3838001 to your computer and use it in GitHub Desktop.
Save zellyn/3838001 to your computer and use it in GitHub Desktop.
just another inlet to tributary
{"endpoint":"","public":true,"require":[],"tab":"edit","display_percent":0.7,"play":false,"loop":false,"restart":false,"autoinit":true,"pause":true,"loop_type":"period","bv":false,"nclones":15,"clone_opacity":0.4,"duration":3000,"ease":"linear","dt":0.01,"editor_editor":{"coffee":false,"vim":false,"emacs":false,"width":602,"height":785,"hide":false},"editor_json0":{"vim":false,"emacs":false,"width":783,"height":449,"hide":true},"display":"svg"}
[
{
"state": "Maryland",
"incomes": [
{
"year": 2011,
"income": 70004
},
{
"year": 2009,
"income": 69272
},
{
"year": 2008,
"income": 70545
},
{
"year": 2007,
"income": 68080
},
{
"year": 2004,
"income": 62372
}
]
},
{
"state": "Alaska",
"incomes": [
{
"year": 2011,
"income": 67825
},
{
"year": 2009,
"income": 68342
},
{
"year": 2008,
"income": 70378
},
{
"year": 2007,
"income": 67035
},
{
"year": 2004,
"income": 64169
}
]
},
{
"state": "New Jersey",
"incomes": [
{
"year": 2011,
"income": 67458
},
{
"year": 2009,
"income": 67034
},
{
"year": 2008,
"income": 68595
},
{
"year": 2007,
"income": 65967
},
{
"year": 2004,
"income": 59972
}
]
},
{
"state": "Connecticut",
"incomes": [
{
"year": 2011,
"income": 65753
},
{
"year": 2009,
"income": 66953
},
{
"year": 2008,
"income": 68460
},
{
"year": 2007,
"income": 64333
},
{
"year": 2004,
"income": 57639
}
]
},
{
"state": "Massachusetts",
"incomes": [
{
"year": 2011,
"income": 62859
},
{
"year": 2009,
"income": 64081
},
{
"year": 2008,
"income": 65401
},
{
"year": 2007,
"income": 62365
},
{
"year": 2004,
"income": 56236
}
]
},
{
"state": "New Hampshire",
"incomes": [
{
"year": 2011,
"income": 62647
},
{
"year": 2009,
"income": 60567
},
{
"year": 2008,
"income": 63731
},
{
"year": 2007,
"income": 62369
},
{
"year": 2004,
"income": 60489
}
]
},
{
"state": "Virginia",
"incomes": [
{
"year": 2011,
"income": 61882
},
{
"year": 2009,
"income": 59330
},
{
"year": 2008,
"income": 61233
},
{
"year": 2007,
"income": 59562
},
{
"year": 2004,
"income": 55108
}
]
},
{
"state": "Hawaii",
"incomes": [
{
"year": 2011,
"income": 61821
},
{
"year": 2009,
"income": 59290
},
{
"year": 2008,
"income": 57936
},
{
"year": 2007,
"income": 54317
},
{
"year": 2004,
"income": 47221
}
]
},
{
"state": "Delaware",
"incomes": [
{
"year": 2011,
"income": 58814
},
{
"year": 2009,
"income": 58931
},
{
"year": 2008,
"income": 61021
},
{
"year": 2007,
"income": 59948
},
{
"year": 2004,
"income": 53770
}
]
},
{
"state": "California",
"incomes": [
{
"year": 2011,
"income": 57287
},
{
"year": 2009,
"income": 56860
},
{
"year": 2008,
"income": 57989
},
{
"year": 2007,
"income": 54610
},
{
"year": 2004,
"income": 52214
}
]
},
{
"state": "Minnesota",
"incomes": [
{
"year": 2011,
"income": 56954
},
{
"year": 2009,
"income": 56548
},
{
"year": 2008,
"income": 58078
},
{
"year": 2007,
"income": 55591
},
{
"year": 2004,
"income": 53439
}
]
},
{
"state": "Washington",
"incomes": [
{
"year": 2011,
"income": 56835
},
{
"year": 2009,
"income": 55616
},
{
"year": 2008,
"income": 57288
},
{
"year": 2007,
"income": 55082
},
{
"year": 2004,
"income": 57363
}
]
},
{
"state": "Wyoming",
"incomes": [
{
"year": 2011,
"income": 56322
},
{
"year": 2009,
"income": 55430
},
{
"year": 2008,
"income": 56993
},
{
"year": 2007,
"income": 55212
},
{
"year": 2004,
"income": 54039
}
]
},
{
"state": "Utah",
"incomes": [
{
"year": 2011,
"income": 55869
},
{
"year": 2009,
"income": 55117
},
{
"year": 2008,
"income": 56633
},
{
"year": 2007,
"income": 55109
},
{
"year": 2004,
"income": 55179
}
]
},
{
"state": "Colorado",
"incomes": [
{
"year": 2011,
"income": 55387
},
{
"year": 2009,
"income": 54659
},
{
"year": 2008,
"income": 56033
},
{
"year": 2007,
"income": 53514
},
{
"year": 2004,
"income": 48201
}
]
},
{
"state": "New York",
"incomes": [
{
"year": 2011,
"income": 55246
},
{
"year": 2009,
"income": 54119
},
{
"year": 2008,
"income": 55701
},
{
"year": 2007,
"income": 53568
},
{
"year": 2004,
"income": 52003
}
]
},
{
"state": "Rhode Island",
"incomes": [
{
"year": 2011,
"income": 53636
},
{
"year": 2009,
"income": 53966
},
{
"year": 2008,
"income": 56235
},
{
"year": 2007,
"income": 54124
},
{
"year": 2004,
"income": 49280
}
]
},
{
"state": "Illinois",
"incomes": [
{
"year": 2011,
"income": 53234
},
{
"year": 2009,
"income": 53341
},
{
"year": 2008,
"income": 56361
},
{
"year": 2007,
"income": 55062
},
{
"year": 2004,
"income": 50819
}
]
},
{
"state": "Vermont",
"incomes": [
{
"year": 2011,
"income": 52776
},
{
"year": 2009,
"income": 52664
},
{
"year": 2008,
"income": 53207
},
{
"year": 2007,
"income": 51731
},
{
"year": 2004,
"income": 47227
}
]
},
{
"state": "North Dakota",
"incomes": [
{
"year": 2011,
"income": 51704
},
{
"year": 2009,
"income": 51618
},
{
"year": 2008,
"income": 52104
},
{
"year": 2007,
"income": 49907
},
{
"year": 2004,
"income": 51622
}
]
},
{
"state": "Wisconsin",
"incomes": [
{
"year": 2011,
"income": 50395
},
{
"year": 2009,
"income": 49993
},
{
"year": 2008,
"income": 52094
},
{
"year": 2007,
"income": 50578
},
{
"year": 2004,
"income": 48874
}
]
},
{
"state": "Nebraska",
"incomes": [
{
"year": 2011,
"income": 50296
},
{
"year": 2009,
"income": 49520
},
{
"year": 2008,
"income": 50713
},
{
"year": 2007,
"income": 48576
},
{
"year": 2004,
"income": 47791
}
]
},
{
"state": "Pennsylvania",
"incomes": [
{
"year": 2011,
"income": 50228
},
{
"year": 2009,
"income": 48745
},
{
"year": 2008,
"income": 50958
},
{
"year": 2007,
"income": 49889
},
{
"year": 2004,
"income": 46729
}
]
},
{
"state": "Iowa",
"incomes": [
{
"year": 2011,
"income": 49427
},
{
"year": 2009,
"income": 48457
},
{
"year": 2008,
"income": 50169
},
{
"year": 2007,
"income": 48730
},
{
"year": 2004,
"income": 45485
}
]
},
{
"state": "Texas",
"incomes": [
{
"year": 2011,
"income": 49392
},
{
"year": 2009,
"income": 48259
},
{
"year": 2008,
"income": 50043
},
{
"year": 2007,
"income": 47548
},
{
"year": 2004,
"income": 43425
}
]
},
{
"state": "Kansas",
"incomes": [
{
"year": 2011,
"income": 48964
},
{
"year": 2009,
"income": 48044
},
{
"year": 2008,
"income": 48980
},
{
"year": 2007,
"income": 47292
},
{
"year": 2004,
"income": 47489
}
]
},
{
"state": "Nevada",
"incomes": [
{
"year": 2011,
"income": 48927
},
{
"year": 2009,
"income": 47827
},
{
"year": 2008,
"income": 45685
},
{
"year": 2007,
"income": 43753
},
{
"year": 2004,
"income": 43753
}
]
},
{
"state": "South Dakota",
"incomes": [
{
"year": 2011,
"income": 48321
},
{
"year": 2009,
"income": 47817
},
{
"year": 2008,
"income": 50177
},
{
"year": 2007,
"income": 47451
},
{
"year": 2004,
"income": 44264
}
]
},
{
"state": "Oregon",
"incomes": [
{
"year": 2011,
"income": 46816
},
{
"year": 2009,
"income": 47590
},
{
"year": 2008,
"income": 50861
},
{
"year": 2007,
"income": 49136
},
{
"year": 2004,
"income": 46841
}
]
},
{
"state": "Arizona",
"incomes": [
{
"year": 2011,
"income": 46709
},
{
"year": 2009,
"income": 47357
},
{
"year": 2008,
"income": 49693
},
{
"year": 2007,
"income": 47085
},
{
"year": 2004,
"income": 48126
}
]
},
{
"state": "Indiana",
"incomes": [
{
"year": 2011,
"income": 46438
},
{
"year": 2009,
"income": 45734
},
{
"year": 2008,
"income": 46581
},
{
"year": 2007,
"income": 45888
},
{
"year": 2004,
"income": 45040
}
]
},
{
"state": "Maine",
"incomes": [
{
"year": 2011,
"income": 46033
},
{
"year": 2009,
"income": 45424
},
{
"year": 2008,
"income": 47966
},
{
"year": 2007,
"income": 47448
},
{
"year": 2004,
"income": 44806
}
]
},
{
"state": "Georgia",
"incomes": [
{
"year": 2011,
"income": 46007
},
{
"year": 2009,
"income": 45395
},
{
"year": 2008,
"income": 47988
},
{
"year": 2007,
"income": 46597
},
{
"year": 2004,
"income": 45837
}
]
},
{
"state": "Michigan",
"incomes": [
{
"year": 2011,
"income": 45981
},
{
"year": 2009,
"income": 45255
},
{
"year": 2008,
"income": 48591
},
{
"year": 2007,
"income": 47950
},
{
"year": 2004,
"income": 47064
}
]
},
{
"state": "Ohio",
"incomes": [
{
"year": 2011,
"income": 45749
},
{
"year": 2009,
"income": 45229
},
{
"year": 2008,
"income": 46867
},
{
"year": 2007,
"income": 45114
},
{
"year": 2004,
"income": 44651
}
]
},
{
"state": "Missouri",
"incomes": [
{
"year": 2011,
"income": 45247
},
{
"year": 2009,
"income": 45043
},
{
"year": 2008,
"income": 46032
},
{
"year": 2007,
"income": 43424
},
{
"year": 2004,
"income": 44624
}
]
},
{
"state": "Florida",
"incomes": [
{
"year": 2011,
"income": 44299
},
{
"year": 2009,
"income": 44926
},
{
"year": 2008,
"income": 47576
},
{
"year": 2007,
"income": 46253
},
{
"year": 2004,
"income": 46395
}
]
},
{
"state": "Montana",
"incomes": [
{
"year": 2011,
"income": 44222
},
{
"year": 2009,
"income": 44736
},
{
"year": 2008,
"income": 47778
},
{
"year": 2007,
"income": 47804
},
{
"year": 2004,
"income": 44448
}
]
},
{
"state": "North Carolina",
"incomes": [
{
"year": 2011,
"income": 43916
},
{
"year": 2009,
"income": 43674
},
{
"year": 2008,
"income": 46549
},
{
"year": 2007,
"income": 44670
},
{
"year": 2004,
"income": 42061
}
]
},
{
"state": "Idaho",
"incomes": [
{
"year": 2011,
"income": 43341
},
{
"year": 2009,
"income": 43028
},
{
"year": 2008,
"income": 43508
},
{
"year": 2007,
"income": 41452
},
{
"year": 2004,
"income": 40827
}
]
},
{
"state": "Oklahoma",
"incomes": [
{
"year": 2011,
"income": 43225
},
{
"year": 2009,
"income": 42492
},
{
"year": 2008,
"income": 43733
},
{
"year": 2007,
"income": 40926
},
{
"year": 2004,
"income": 37943
}
]
},
{
"state": "South Carolina",
"incomes": [
{
"year": 2011,
"income": 42367
},
{
"year": 2009,
"income": 42442
},
{
"year": 2008,
"income": 44625
},
{
"year": 2007,
"income": 43329
},
{
"year": 2004,
"income": 40822
}
]
},
{
"state": "New Mexico",
"incomes": [
{
"year": 2011,
"income": 41963
},
{
"year": 2009,
"income": 42322
},
{
"year": 2008,
"income": 43654
},
{
"year": 2007,
"income": 43531
},
{
"year": 2004,
"income": 38629
}
]
},
{
"state": "Louisiana",
"incomes": [
{
"year": 2011,
"income": 41734
},
{
"year": 2009,
"income": 41725
},
{
"year": 2008,
"income": 43614
},
{
"year": 2007,
"income": 42367
},
{
"year": 2004,
"income": 40676
}
]
},
{
"state": "Tennessee",
"incomes": [
{
"year": 2011,
"income": 41693
},
{
"year": 2009,
"income": 41664
},
{
"year": 2008,
"income": 42822
},
{
"year": 2007,
"income": 41567
},
{
"year": 2004,
"income": 40001
}
]
},
{
"state": "Alabama",
"incomes": [
{
"year": 2011,
"income": 41415
},
{
"year": 2009,
"income": 40489
},
{
"year": 2008,
"income": 42666
},
{
"year": 2007,
"income": 40554
},
{
"year": 2004,
"income": 38473
}
]
},
{
"state": "Kentucky",
"incomes": [
{
"year": 2011,
"income": 41141
},
{
"year": 2009,
"income": 40072
},
{
"year": 2008,
"income": 41538
},
{
"year": 2007,
"income": 40267
},
{
"year": 2004,
"income": 38466
}
]
},
{
"state": "Arkansas",
"incomes": [
{
"year": 2011,
"income": 38758
},
{
"year": 2009,
"income": 37823
},
{
"year": 2008,
"income": 38815
},
{
"year": 2007,
"income": 38134
},
{
"year": 2004,
"income": 37420
}
]
},
{
"state": "West Virginia",
"incomes": [
{
"year": 2011,
"income": 38482
},
{
"year": 2009,
"income": 37435
},
{
"year": 2008,
"income": 37989
},
{
"year": 2007,
"income": 37060
},
{
"year": 2004,
"income": 37227
}
]
},
{
"state": "Mississippi",
"incomes": [
{
"year": 2011,
"income": 36919
},
{
"year": 2009,
"income": 36646
},
{
"year": 2008,
"income": 37790
},
{
"year": 2007,
"income": 36338
},
{
"year": 2004,
"income": 35261
}
]
}
]
var svg = d3.select("svg");
var data = tributary.income;
var years = {};
data.forEach(function(d) {
d.incomes.forEach(function(i) {
years[i.year] = true;
});
});
years = d3.keys(years);
years.sort();
var dollars = d3.format(",d");
var marginLeft = 50,
marginTop = 50,
textWidth = 100,
lineSpacing = 17,
amountOffset = 10,
amountExtraOffset = 1.92,
barWidth = 281;
var chart = svg.append("g")
.classed("chart", true)
.attr("transform", "translate(" + [marginLeft, marginTop] + ")");
var yearsGroup = svg.selectAll("g.years")
.data(years)
.enter().append("g")
.attr("class", "years")
.on("click", function(d) {
setYear(d);
});
yearsGroup.append("rect")
.attr({
x: 500,
y: function(d, i) { return i * 30 + 50; },
width: 80,
height: 20,
});
yearsGroup.append("text")
.text(function(d) { return d; })
.attr({
fill: "#000",
x: 500 + 40,
y: function(d, i) { return i * 30 + 50 + 15; },
"text-anchor": "middle",
});
var groups = chart.selectAll(".label")
.data(data)
.enter()
.append("g");
groups.append("text")
.classed("label", true)
.text(function(d) { return d.state; })
.attr({
y: function(d, i) { return i * lineSpacing; },
x: textWidth,
"text-anchor": "end",
"font-size": "10pt",
dy: "1em"
})
groups.append("text")
.classed("income", true)
.text(function(d) { return "$" + dollars(d.incomes[0].income); })
.attr({
y: function(d, i) { return i * lineSpacing; },
x: textWidth + amountOffset + amountExtraOffset,
"font-size": "10pt",
dy: "1em"
});
var barScale = d3.scale.linear()
.domain([0, d3.max(data, function(d) { return d.incomes[0].income; })])
.range([0, barWidth]);
groups.append("rect")
.classed("bar", true)
.attr({
x: textWidth + amountOffset,
y: function(d, i) { return i * lineSpacing; },
width: function(d) { return barScale(d.incomes[0].income); },
height: lineSpacing-1,
opacity: 0.3
});
var incomeForYear = function(data, year) {
return data.incomes.filter(function(i) { return i.year == year })[0].income;
};
var setYear = function(year) {
d3.selectAll("rect.bar")
.transition()
.attr("width", function(d) {
return barScale(incomeForYear(d, year));
});
d3.selectAll("text.income")
.text(function(d) {
return "$" + dollars(incomeForYear(d, year));
});
};
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.
rect {
fill: #999;
stroke: #999;
rx: 3;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment