Introduction to animation

Intermediate Interactive Data Visualization with plotly in R

Adam Loy

Statistician, Carleton College

CO2 emissions and income

Question: Has the relationship between carbon dioxide emissions and income changed over time?

world_indicators
# A tibble: 11,387 x 11
  country  year income     co2 military population  urban life_expectancy four_regions
  <chr>   <dbl>  <dbl>   <dbl>    <dbl>      <dbl>  <dbl>           <dbl> <chr>       
1 Afghan…  1960   1210  0.0461       NA    9000000 7.56e5            38.6 asia        
2 Albania  1960   2790  1.24         NA    1640000 4.94e5            62.7 europe      
3 Algeria  1960   6520  0.554        NA   11100000 3.39e6            52   africa      
4 Andorra  1960  15200 NA            NA      13400 7.84e3            NA   europe      
5 Angola   1960   3860  0.0975       NA    5640000 5.89e5            42.4 africa      
# … with 1.138e+04 more rows, and 2 more variables: eight_regions <chr>, six_regions <chr>
Intermediate Interactive Data Visualization with plotly in R

Scatterplots of CO2 emissions against per capita   GDP for six years.

Intermediate Interactive Data Visualization with plotly in R

Scatterplots of CO2 emissions against per capita   GDP for 1989-2014.

Intermediate Interactive Data Visualization with plotly in R

Animated scatterplot of CO2 emissions against per capita   GDP for 1985-2014

Intermediate Interactive Data Visualization with plotly in R

Keyframe animation

Frame = plot at one time point

Filmstrip of scatterplots.

Intermediate Interactive Data Visualization with plotly in R

The frame aesthetic

world_indicators %>%
  plot_ly(x = ~income, y = ~co2) %>%
  add_markers(frame = ~year, showlegend = FALSE) %>%
  layout(xaxis = list(type = "log"), yaxis = list(type = "log"))
Intermediate Interactive Data Visualization with plotly in R

Object constancy

A graphical element (e.g. glyph) should represent a particular data point (e.g. Belgium)

GIF of points interchanging order in the 1990s.

Intermediate Interactive Data Visualization with plotly in R

The ids aesthetic

world_indicators %>%
  plot_ly(x = ~income, y = ~co2) %>%
  add_markers(frame = ~year, ids = ~country, showlegend = FALSE) %>%
  layout(xaxis = list(type = "log"), yaxis = list(type = "log"))

21-object-constancy-fixed.gif

Intermediate Interactive Data Visualization with plotly in R

Let's practice!

Intermediate Interactive Data Visualization with plotly in R

Preparing Video For Download...