回顾:联动视图与选择器小部件

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

Adam Loy

Statistician, Carleton College

联动视图

第4章_3 联动回顾.gif

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

SharedData

shared_launches <- SharedData$new(launches, key = ~agency_type)

line_chart <- shared_launches %>% plot_ly() %>% group_by(launch_year, agency_type) %>% summarize(n = n()) %>% ungroup(launch_year) %>% add_lines(x = ~launch_year, y = ~n, color = ~agency_type) bar_chart <- shared_launches %>% plot_ly() %>% group_by(agency_type) %>% summarize(n = n()) %>% add_bars(y = ~fct_reorder(agency_type, n), x = ~n, color = ~agency_type) %>% layout(barmode = "overlay", yaxis = list(title = ""))
R 中级交互式数据可视化(plotly)

用 subplot() 关联视图

subplot(bar_chart, line_chart) %>% 
  hide_legend() %>% 
  highlight()

机构类型柱状图.gif

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

用 bscols() 关联视图

bscols(
  widths = c(4, NA),
  bar_chart %>% highlight(),
  line_chart %>% highlight()
)

机构类型柱状图_bscols.gif

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

highlight() 选项

参数 说明
on 选择事件:'plotly_click''plotly_hover''plotly_selected'
off 取消选择事件:'plotly_doubleclick''plotly_deselect''plotly_relayout'
persistent 是否保留选择?TRUEFALSE
dynamic 是否添加可改色的小部件?TRUEFALSE
color 用于高亮选择的颜色字符串
selectize 是否添加 selectize.js 键选择小部件?TRUEFALSE
R 中级交互式数据可视化(plotly)

选择器小部件

bscols(widths = c(2, NA),
  list(filter_checkbox(id = "agency", label = "Agency type", shared_launches, ~agency_type),
       filter_select(id = "agency2", label = "Agency type dropdown", shared_launches, ~agency_type)),
  line_chart %>% highlight(on = "plotly_selected", off = "plotly_deselect")
)

机构类型选择器.gif

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

运载火箭

glimpse(lv)
Rows: 1,578
Columns: 17
$ name         <chr> "?", "Unknown", "N-1 11A52", "Saturn V", "S…
$ family       <chr> "Unknown", "Unknown", "N-1", "SaturnV", "Sa…
$ sfamily      <chr> NA, NA, "OKB1", "MSFC", "MSFC", "SPX", "SPX…
$ manufacturer <chr> NA, NA, NA, NA, "2", NA, NA, NA, NA, NA, NA…
$ variant      <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ alias        <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1…
$ min_stage    <dbl> 1, 1, 3, 4, 3, 1, 2, 3, 1, 1, 2, 3, 6, 3, 6…
$ max_stage    <chr> "0.0  0.00", "0.0  0.00", "105.3 14.00", "1…
$ length       <chr> "0.0", "0.0", "2788.0", "2913.0", "2822.0",…
$ diameter     <dbl> 0, 0, 70000, 118000, 75000, 0, 150000, 2440…
$ launch_mass  <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ leo_capacity <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4350, 0…
$ gto_capacity <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ to_thrust    <dbl> 0, 0, 45300, 34030, 34030, 12000, 72500, 28…
$ class        <chr> "R", "R", "O", "O", "O", "R", "O", "O", "O"…
$ apogee       <dbl> 0, 0, 200, 400000, 500, 20, 200, 600, 250, …
$ range        <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
R 中级交互式数据可视化(plotly)

Passons à la pratique !

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

Preparing Video For Download...