Hey folks, I really enjoyed teaching a one-day, introduction to ggplot2 workshop last week. It was a lot of fun - I enjoyed teaching the principles behind ggplot2. I’ve been noticing many learners (and teachers) focusing on making templates that they can recycle to make variations on a common plot type. This is how I often teach ggplot2 and the rest of the tidyverse - it’s also how I learned R. In the most recent workshop I was testing a hypothesis that teaching concepts would yield more long term learning gains than the template approach. I’d love to work out some of the kinks and teach it again. Let me know if you’d be interested in learning by this alternative approach. If you’re a late-Gen Xer like me, the word “waterfall” will instantly queue up in your mind the song “Waterfalls” by TLC. Whenever I see a waterfall chart, I think of this song. Sorry. Not sorry :) Anyway, last week I found this waterfall chart in a Washington Post article on the 0.3% drop in the US GDP during the first quarter of 2025. Waterfall charts are helpful for depicting the cumulative effect of positive and negative components. For the GDP, personal consumption, private investment, government spending, and exports typically count in the positive direction and imports in the negative direction. For the first quarter, government spending was down a smidge, leading to a similar decrease in GDP. I was able to gather these data from the data linked through the Bureau of Economic Analysis.
I thought this would be a great plot to share with you all. I instantly started thinking about how I would create this in R. This plot has a few cool things going on. First, there are vertical line segments with arrows. I would create these using Second, there are the bars. Normally when I see these rectangles I think, “bar plot!”. But bar plots start at 0 on the y-axis. These bars start at different locations for each category similar to the arrows. Instead, I’d either use Third, each rectangle has a solid black line at either end to indicate the top and bottom edge. I’d likely do this with Let’s pause here for a moment… Could I generate this waterfall chart using only Next, there’s annotation for each piece of the waterfall where the category label is bolded and colored like the bar. The rest of the text is in a regular black font. The labels vary in how the text is justified. Because of the combination of font faces and colors, I’d likely use Finally, there are also the grid lines. At first appearances they look normal. But, the grid line that intercepts the y-axis at +1 is on top of the “Personal consumption” segment and behind the “Imports” segment. All the other grid lines are behind their segments… why?! I think this is silly. If I wanted to follow this faithfully, I’d likely use the background grid lines that are controlled with the Let me know what you think of this type of plot. Have you seen waterfall charts in your work? I’d love to see more examples.
|
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....