A defining characteristic of this election cycle was Super PACs and the hundreds of millions of dollars outside groups were spending to influence races. Now that it’s all over, we wanted to see which outside groups spent their money on succssful races and which did not. The result was our interactive Not-So-Super PACs: 2012’s Winners and Losers.
Super PACs abounded this cycle. So instead of trying to document and display all of them, we focused the narrative on how well the biggest spenders and their donors fared. To execute it, we used Center for Responsive Politics anaylsis of FEC data to find how much each PAC had spent so far in each race and then manually went through and coded each race whether the outcome was in line with or against the PAC’s interest. Then we added everything up.
This idea went through a few iterations before settling on what you see above. For a while, we’ve been wanting to use a tower graphic template - one of those vertical scroll layouts with a sticky table of contents - that I built a couple of months ago but it never seems to work out. This time, after thinking about all of the detail we wanted to display we thought bigger.
If you’re trying to visualize money flows, Sankey lines are a go-to. ProPublica did a great one showing overlapping Super PAC expenditures and you see them as flat graphics too. They show direcionality and volume = great for money.
Getting the right data
Money was flowing from donors to PACs and then to races, so we used the JSON structure that D3 lays out for its network layouts (and Sankey) visualizations. You have a list of nodes (People and PACs) and a list of node to node links (X person gave $Y to Z PAC). We were working collaboratively in Google Docs so were able to do some formulas that would print out or data structure in JSON as we were editing the document. Very handy in case you need to correct any numbers or name spellings.
Here’s a link to the interactive version (yes, it’s in the “failures” folder). As you can see, there were too many races to fit on the screen and the dollar amounts in some races were so high that they dwarfed everything else. So showing each race in the Sankey was out.
This led to Sankey Idea #2.
We connected photos of the donors to the PACs, showed the percentage of succesful funds, and then put the races in a table down below. The photos were very useful because you can quickly understand that money is coming from a person and going somewhere. If we just had text, I think, without photos, it would be less clear and have less of a personality. Someone remarked that the lines almost form bodies and arms that reach out to touch Super PACs. It’s interesting to see visualized data combined with photography work out to tell a story like that.
Under the hood
We used Raphael to draw the lines, which was an improvement from D3 since we do indeed support Internet Explorer 8. We tweaked Al Shaw’s Sankey line from Tom Counsell’s Sankey library to make them span vertically instead of left to right. Here’s a jsFiddle of the code to draw the line.
The table uses Isotope.js for its animated sorting, which is snazzy but I also think does help make tabular data more understandable. Instead of clicking on a column header and everything resorts in a flash, you can see how dramatically different rows vary from view to view. It’s also nice because you can do filtering. So without much code you have a filterable, sortable table. It also saves a step of turning the object data into arrays for sorting. I’ve been wanting to add those ascending / descending arrows for a while to our tables so this was a good time for that.
This table will probably become our first stand-alone NewsBeast Labs plugin since we’ve been using it pretty frequently. That’s pretty cool because five months ago we didn’t have any interactive news code and now we’ve done enough projects that we can see what’s worked, what functionality we like and can wrap it all up into something more robust and reusable, which will make our future development that much faster.
- galoor likes this
- internet-haze likes this
- maxfenton likes this
- cityparkdog likes this
- daviesabc likes this
- aliyamirza1 likes this
- jhguth likes this
- decause reblogged this from opensecretsdc
- decause likes this
- connorschmidt likes this
- f1ghtoffyourdem0ns reblogged this from shortformblog
- m-x likes this
- aramzs reblogged this from newsbeastlabs
- mochyusuf likes this
- ivanellys likes this
- ooonedirectionooo likes this
- armchairsoapbox reblogged this from shortformblog
- husky04 reblogged this from newsweek
- grapejuicefromlemons reblogged this from newsweek
- jwaldbewohner likes this
- newsfastforward likes this
- sararenee likes this
- sunnypup likes this
- mindsplat likes this
- difficultdifficult likes this
- empiricalmediatheory likes this
- neridesu reblogged this from shortformblog
- fangandclaw reblogged this from shortformblog and added:
- oldparasitesingle reblogged this from opensecretsdc
- oldparasitesingle likes this
- slightlystrictlyrude likes this
- shackeledinshatteredrealities likes this
- shackeledinshatteredrealities reblogged this from newsweek
- stolenpony likes this
- fascinatedbydinosaurs likes this
- sothafire likes this
- zenmasterstation likes this
- lifeincommas reblogged this from shortformblog
- lifeincommas likes this
- i-wanna-momo-your-uknow likes this
- nboratv reblogged this from newsweek
- citylightscomebackinjune reblogged this from shortformblog
- themisse reblogged this from newsweek
- theyalwayswantyoutoproveit reblogged this from shortformblog
- timecubed reblogged this from shortformblog
- mhkeller reblogged this from newsweek and added:
- lindadrinksoda likes this
- listeningstill likes this
- primuscapio likes this
- nerdscloset likes this