Remaking classic hand drawn data visualizations from 1900


Hey folks,

I’m at the end of a day after I pulled an all-nighter trying to hit a grant proposal deadline. I don’t recall ever doing this in college. I seem to pull an all-nighter every five years or so. I’m too old for this! Anyway, the proposal is in and now I’m ready to move on to fun things… like talking to you about visualizing data!


A few years back Whitney Battle-Baptiste and Britt Rusert put together an amazing collection of visualizations by WEB DuBois that he presented at the 1900 Paris Exposition. The book is called “W.E.B. Du Bois’s Data Portraits: Visualizing Black America”. It’s probably the most enlightening $20 you’ll spend. You can find the originals here at the Library of Congresses website.If you aren’t convinced, I’d encourage you to check out this video on the collection and an effort to recreate the figures using modern tools. I think this is the slide deck. Here’s the GitHub repository of Anthony Starks’s effort to recreate the visuals using a tool called mkdeck. Ok, that’s enough background for now :)

You might look at the visuals and think… whaaa? But really, spend some time with them and learn about them. One of the things that impresses me about this collection of visuals is that they were hand made. No R. No Python. No Excel. No Tableau. No fancy d3.js package. The artistry of these images and the unconventional approach to visualizing data adds an intriguing layer to the story DuBois was telling his French audience about the plight of African Americans in the US in 1900. Consider this figure, which is plate 12 from the collection.

If you’re like me, it might have taken you a minute to wrap your head around this simple, but profound figure. The plot shows that between 0.7 and 1.7% of African Americans living in the US from 1790 to 1860 were free - the rest were enslaved. By 1870 they were all freed. I like how the red representing the free individuals overtakes the darkness of slavery. Perhaps we could read more into the symbolism, but I’ll hold off for now. Let’s think about how we might make this in R!

First, this is an area plot. Also, it appears to have a white line separating the black and red areas. We could likely generate the basics of the plot using the geom_area() and geom_line() functions with the year on the y-axis and the percent free on the x-axis. I don’t recall using geom_area() before so it might take some tinkering to get it to look right.

Second, I notice that the left side of the x-axis is not so much broken as “ripped”. Doing some digging into geom_area(), I see that there’s an orientation argument for geom_area() that will allow us to adjust the orientation of the plot if we set it to "y". This basically does the same thing that coord_flip() accomplishes. To get the ripped appearance, I’d likely create the upper boundary on the free data to be randomly drawn from a value between 2.8 and 3.2. If I multiply the percent free values by -1 the ragged side should appear on the left.

Third, I notice the x-axis labels are at the top of the plot from 3% on the left to 0% on the right. We saw in a recent video that scale_x_continuous() allows us to put the axis text on the top edge of the plot.

Fourth, the years are listed on the left y-axis and the “Percent of free negroes” is listed on the right axis. I can think of two ways to do this. First, the years can be included using scale_y_continuous(). I suspect that the default ordering would put 1790 at the bottom, so we’ll likely need to reverse the order of the data to put it at the top. To draw the horizontal gridlines, we’ll likely need to use geom_hline() since the lines are on top of the data. Now for the percent free, we could either engineer a second y-axis, which I’ve shown previously or we could place the text in the right-hand margin using annotate(geom = "text"). Which approach do you prefer?

Finally, the Anthony Starks developed a DuBois-ian style guide. If you download that pdf and look at the end you’ll find a set of suggested fonts and hex codes for the colors that DuBois used. DuBois of course used his own hand to write the text in this figure, but a special DU BOIS font has been created by Vocal Type. It’s a bit pricey to download a desktop version of the font, but maybe they won’t mind me using the trial version to make some figures for you all? Alternatively, google fonts doesn’t have a good match, but perhaps “Roboto Mono” would be ok.

Try you hands at generating this figure on your own in R. If you’re feeling adventurous and want to represent the same data differently, check out Panel 51. Here’s some data…


library(tidyverse)

slave_free <- tribble(
~Year,~Slave,~Free,
1790,98.7,1.3,
1800,98.3,1.7,
1810,98.3,1.7,
1820,98.8,1.2,
1830,99.2,0.8,
1840,99.1,0.9,
1850,99.3,0.7,
1860,99.2,0.8,
1870,0,100
)

Workshops

I'm pleased to be able to offer you one of three recent workshops! With each you'll get access to 18 hours of video content, my code, and other materials. Click the buttons below to learn more

In case you missed it…

Here are some videos that I published this week that relate to previous content from these newsletters. Enjoy!

video previewvideo preview

Finally, if you would like to support the Riffomonas project financially, please consider becoming a patron through Patreon! There are multiple tiers and fun gifts for each. By no means do I expect people to become patrons, but if you need to be asked, there you go :)

I’ll talk to you more next week!

Pat

Riffomonas Professional Development

Read more from Riffomonas Professional Development

Hey folks, This has been a busy week! I’ve been on campus teaching a 3 day, all day, R class. It’s been a while since I’ve done one of these live workshops off campus. If you’re interested in me coming to your campus, you coming to Michigan, or being in a Zoom-based workshop, please let me know! I really love being able to interact with you all in workshops. If your experience has been at all like my own the past month or so, your conversations have all had a tinge of anxiety about the...

Hey folks, I really hope you enjoyed the series of newsletters and videos of me recreating the visualizations presented by W.E.B. DuBois at the 1900 Paris Exposition. I can’t express how much I enjoyed making them. Some of them were pretty tricky and required a lot of work. But I think it was worth it! It definitely forced me to use some new-to-me tools like geom_polygon() and geom_sf(). Please let me know what you thought of the series! I wonder if there’d be any interest in a companion to...

Hey folks, I can’t tell you how much I’ve enjoyed recreating the “data portraits” from the collection of visualizations that WEB DuBois and his colleagues presented at the 1900 Paris Exposition. You can find the entire collection of “data portraits” in a book assembled by Whitney Battle-Baptiste and Britt Rusert (here) or as a collection of plates through the Library of Congress (here). Perhaps this isn’t so obvious to my non-US readers and viewers, but February is Black History month. In...