Skip to content
This repository has been archived by the owner on Feb 21, 2023. It is now read-only.

Releases: jimjam-slam/steamtrain

Prettier flag balloon plot (non-interactive)

01 Sep 07:11
Compare
Choose a tag to compare

Okay, this is starting to look nicer. I forked baptiste/ggflags to use the EmojiOne flags (having converted them into rather large PNGs):

screenshot 2017-09-01 17 08 37

Unfortunately, this custom geom doesn't work with ggplotly, which rules out an easy interactive version (it does work with gganimate, but this arrangement lends itself to isolating countries interactively). I think I'll have to work how to use gridSVG to get an interactive version going manually.

Also, the balloons need outlines (can't do that with the plotting system; I'll have to update the images used) and strings (maybe only draw a string for the highlighted one? IDK yet).

Gapminder + Berkeley Balloon Plot (Plotly)

29 Aug 04:46
Compare
Choose a tag to compare

After some feedback, I decided to drop the smoke cloud as a visual indication of accumulated CO2. It looks good and makes a clear point about the relative wealth of the countries who emitted most of the CO2, but it's impossible to dig down to the country level, which makes it difficult or impossible to use interactively. Plus, plotly just wasn't having it.

steamtrain-v0 3

This version represents each country's cumulative CO2 emissions as a balloon. I'm using the emojifont package to print country flags as emojis.

About 90% of this plot works well out-of-the-box with plotly and ggplot2. There are no long renders, though the output is about 6–7 MB, which is a lot for the web. Also, the flag emojis render using the system emoji font, which I don't want—emojifont tries to use EmojiOne, which has circular flags that would make good balloons on their own, without having to print another set of points over the top.

I'm going to try this again using gridSVG, which will (hopefully) render the intended font. Also, I'll learn some d3.js, which is a plus!

Gapminder + Berkeley remix

29 Aug 04:23
Compare
Choose a tag to compare
Pre-release

This version stops trying to use bars for temperature anomalies and instead uses bars to reinforce the CO2 bubbles. My plan was to separately render the global temperature, using GISTEMP, as a background colour that would animate over time (in fact, the plotting code does render it nicely).

steamtrain_v0 2

Unfortunately, the variable width bars still look a bit weird, and it's hard to smooth a density curve when you're using stat = identity. So I think we'll keep iterating. Also, the bubbles work well with gganimate (despite taking hours to render), but they completely nuke plotly. Also, they look cool and are metaphorically interesting, but I'm not sure that they add much information. Time for another swing!

Gapminder + Berkeley Earth steam train plot

26 Aug 10:42
Compare
Choose a tag to compare

I have a fairly polished version of the plot ready at this point, rendered using plot_video.r (I tried to shove it through the plotly interface to get an interactive version, but that went... badly).

steamtrain-v0 1

But after showing it to a few people, it looks like using individual countries' temperature anomalies is just a little bit too far conceptually. I really like that this plot has both CO2 emissions and temperature going on, but it's not entirely clear without an explanation how the bars come into it.

I'm going to rework the plot to reflect many people's first guess at what was happening: the bars will bound to annual CO2 per capita, so with their current width the bar areas will be annual CO2 emitted (like the bubble areas). This should give us a nice 'smokestack' effect.

I'll also revert to a single global temperature timeseries, like GISTEMP. I was going to plot it as a single horizontal line that creeps up to show temperature, but I don't like the idea of using two vertical scales (even if there's no actual axis for temperature). Instead, I might try to go with a changing background colour—but I'd like to find a feathered effect to make it a little less ugly. We'll see.