Making Points of Light: Protest in America

I just published Points of Light, a new project looking at nearly three years of protest in America. Check it out at!


When I tell people I am working on a project about protests, the most common response is a nod and a question about Berkeley, California.  But protest doesn’t belong to Berkeley, or Washington, DC. One of the most rewarding parts of the project was seeing what people protested about in West Virginia’s state capital, Salt Lake City, Utah, small towns in Massachusetts, and my current home base of Miami, Florida.

For the full story on protests, check out Points of Light. Here’s how I made the graphics.


I started this project almost a year ago: I began mucking around with the protest data as a way to become more fluent in R, fell in love, made a bunch of static graphics, decided they had to be animated, made a bunch of gifs, realized they needed to be interactive, and put the project away in a huff, muttering about “work-life balance” and “priorities” and “achievable goals.”

Fast forward a semester, a summer, and a switch in programs. I picked the protest data up again for my Data Visualization Studio class.Anything I did with it was for class. Nothing was too ambitious or time-consuming if it was for class. School comes first, after all! So I chugged some books on D3.js, did a speed-run on basic web development, and here we are.

The protest data itself comes from Count Love, which aggregates, categorizes, and publishes data about protests in America. You can read more about their process here. There are some limits to the dataset, of course—it’s based on news articles, so any protest not covered by the media won’t be included, and data collection began in January 2017, so it’s not possible to compare protests across presidential administrations. On the whole, though, it’s an incredibly cool data source, with remarkably clean, well-organized, and easy-to-access data.

Way back at the start of the semester, I wrote a little post about why this project mattered to me. Everything I wrote there still applies.

Continue reading “Making Points of Light: Protest in America”

Pussyfooting in combat boots

Mike Monteiro’s Ruined By Design is a firebomb of a book. Monteiro argues that designers of all stripes have a responsibility to the world that outweighs their responsibility to their boss. (The actual book has a lot more swearing.) Parts of this book are going to stay with me for a long time. I’m going to embroider “saying no is a design skill” on a pillow.

Print your words as charted design with cross stitch alphabet Amsterdam_

My heart says, yes! Designers are responsible for what we make! We need to be able to say no!

We also need to be able to say maybe.

Continue reading “Pussyfooting in combat boots”

Communicating with chaos

In the wake of last week’s shootings in Dayton and El Paso, I saw the following exchange on Twitter:

The Financial Times bubble chart trades clarity for expressiveness; the Economist bar chart trades expressiveness for precision. That bubble chart is particularly interesting in light of recent conversations about the covering mass shootings:

Continue reading “Communicating with chaos”

Too many bees, not enough swarm

I’m working on a beeswarm plot about student loans, and I ran into a bit of trouble with my zero-debt group. If you aren’t familiar with beeswarm plots, take a look at this excellent example of gender ratios in newsrooms from Google Trends:

Screen Shot 2018-11-03 at 7.06.19 PM.png

Each newsroom is a dot. Left-to-right position indicates the gender balance of the newsroom, and bigger newsrooms have bigger dots. Up-and-down position doesn’t officially indicate anything, but because the dots don’t overlap, the width of the “beeswarm” is an informal indicator of how many newsrooms have a particular gender balance.

In my case, I’m looking at student debt-to-earnings ratios for graduates of career-training programs. That is, how much of a person’s income goes towards paying their student loans every year? Unlike the example above, I have many small beeswarm plots, since I’m splitting the data by occupation.

Here’s how the plot came out of R:


Note the 91-program pileup at zero. So, what to do?

Continue reading “Too many bees, not enough swarm”

One True Visualization

There are lots of ways to lie. Fortunately for visualization designers, there are also many ways to tell the truth. Different types of visualizations encourage different comparisons, reveal different patterns, and present different messages. However, highlighting one aspect of the data means obscuring another. There is no one true visualization: every chart is a trade-off.

For example: On August 14, the CDC released provisional counts of drug overdose deaths in 2017. The CDC provided several interactive visualizations, and the story was picked up by several news outlets, which created their own visualizations. Every chart and map tells a part of the story.

The CDC provided three interactive visualizations: a line chart examining total overdose-related deaths from January 2014 to January 2018, a similar line chart that split overdose deaths by type of drug, and a choropleth map showing the percent change in overdose deaths in each state.

(Two quick notes about the data: 1. Each data point includes the previous 12 months of deaths. That is, the figure for March 2015 includes opioid deaths from April 1 2014 through March 31 2015. 2. “Predicted deaths” are an estimate that corrects for underreporting of overdose deaths, not a prediction made in the past about future deaths.)

At The New York Times, The Upshot’s Margot Sanger-Katz recreated the CDC’s visuals with additional interpretive text and one small but important change: removing the line that showed aggregated opioid deaths and only showing the subclasses of opioids. Removing the aggregate data makes a lot of sense, given that the authors wanted to focus on the dramatic increase in synthetic opioid overdoses.

Christopher Ingraham at The Washington Post’s Wonkblog created a similar graphic, but included overdose deaths all the way back to 1999. The increase in synthetic opioid deaths looks even more dramatic when preceded by ten years of slower, steadier increases. Total opioid overdose deaths are also shown in this long view, which illustrates the high proportion of overdose deaths related to opioids.

After zooming way out, Ingraham closes the piece by zooming way in, pointing out a recent plateau in opioid deaths. This threw me for a loop–the previous chart in the WaPo piest showed no sign of a plateau–until I realized that this chart began in 2015, rather than 1999. From a more recent perspective, the plateau is a remarkable change, but it doesn’t even register on the 1999-2018 charts that show such an alarming spike in opioid overdose deaths. The longer time frame emphasizes the magnitude of the opioid crisis, but obscures recent developments. The shorter timeframe presents a less dramatic picture, but enables a more detailed look at the recent past.

Ingraham also redesigned the choropleth map, showing the overall death rate per state rather than the change in death rate. Putting the NYT chart next to the WaPo chart shows a different story about states like Vermont, which have particularly high rates of overdose deaths, but showed recent improvements. (Ingraham does note this in the text of the article.)

The Houston Chronicle took a more local view with a chart of all overdose deaths specifically in Texas. This chart tells a much simpler story than the others, but that focus drives home the gut-punch reality of 2,995 local deaths in one year.

The CDC, Washington Post, and New York Times reported on the same figures at the same nationwide level. However, even the relatively minor changes in the visualization of nationwide data changed the focus and narrative of the articles, while looking at one’s home state changed the immediacy of the story.