It was a Processing week of large, but nearly invisible triumphs…
FROM TABLE CLASS TO JAVA’S TABLE CLASS
Basically, I set aside Ben Fry’s Table class and dug into using the native Java table functions within Processing. While it was easier than anticipated to sort data based on string values and column values, I did run into a few blips and just couldn’t get the “for (TableRow row : boilerT[j].findRows(type, ColumnN))” to nest on itself (hence the Table array for [j]).
I won’t claim that this code is pretty (GRAB HERE). But it’s chock full’o arrays (the buttons, the labels, the tables and their values).
What’s missing still is a key for the data, with scaled values. Just to cheat a bit:
- the inner circle is BTU of energy/sqft of lot area for oil burning furnaces (sorted by building type and boro)
- the second circle is the average age of those furnaces
- the third circle is the average number of units in a complex heated by those furnaces
- the outer ring is total consumption considered from a citywide perspective
- tone is keyed to the type of oil: bluer=more #6 oil while pinker=more #4 oil (the lower the number, the lower the grade and the more impurities & emissions)
In general, my other impulse was to make staggered roses, with each pie segment capturing a building type. That would allow the central graphic to be larger and, perhaps, easier to read in isolation. If I’m going to pull all 7000-odd values, I do need to find a way to exaggerate the differences in age/type/total output between the Boroughs better.