动画简介

R 中级交互式数据可视化(plotly)

Adam Loy

Statistician, Carleton College

CO2 排放与收入

问题:二氧化碳排放与收入的关系是否随时间发生了变化?

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>
R 中级交互式数据可视化(plotly)

六个年份中 CO2 排放与人均 GDP 的散点图。

R 中级交互式数据可视化(plotly)

1989–2014 年 CO2 排放与人均 GDP 的散点图。

R 中级交互式数据可视化(plotly)

1985–2014 年 CO2 排放与人均 GDP 的动画散点图

R 中级交互式数据可视化(plotly)

关键帧动画

帧 = 某一时间点的图

散点图胶片条。

R 中级交互式数据可视化(plotly)

frame 美学

world_indicators %>%
  plot_ly(x = ~income, y = ~co2) %>%
  add_markers(frame = ~year, showlegend = FALSE) %>%
  layout(xaxis = list(type = "log"), yaxis = list(type = "log"))
R 中级交互式数据可视化(plotly)

对象恒常性

一个图形元素(如标记)应代表一个特定数据点(如比利时)

1990 年代点的次序互换的动图。

R 中级交互式数据可视化(plotly)

ids 美学

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

R 中级交互式数据可视化(plotly)

让我们来练习!

R 中级交互式数据可视化(plotly)

Preparing Video For Download...