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 is a livestream 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! The summer is nearly over - where did it go?! Many of us are getting ready to send our kids off to school and start a new academic year. If you’re subscribed to this newsletter, I suspect you are interested in improving your data visualization skills. You can certainly continue to receive this newsletter and watch my weekly livestreams on YouTube for free to help increase those skills. If you want a more concentrated or personalized opportunity to develop your data visualization...

Hey folks! I’d love to have you join me in September for a new approach to teaching workshops that I will be rolling out. For five weeks I’ll be working with two cohorts of you all to improve our data visualization skills. Each week we’ll meet for a two-hour session. These sessions will include instruction on principles and concepts in data visualization and an opportunity to apply this information to visualizations we find in the wild or that you bring to the group. By not talking about...

Hey folks, Are you interested in uping your data visualisation skills? I’m rolling out a new program to help you improve the design of your data visualizations. This program will last 5 weeks starting at the beginning of September. Each session will be two hours long and include a discussion of data visualization principles followed by an opportunity to apply these ideas to your own visualizations. There will be no coding in this program so you can focus more on concepts than implementation....