Chiến lược chọn

Trực quan hóa dữ liệu tương tác nâng cao với plotly trong R

Adam Loy

Statistician, Carleton College

Hai chiến lược chọn

Chọn tạm thời

các mục đã chọn trước đó bị quên

linking_teaser1.gif

Chọn giữ nguyên

các mục đã chọn được cộng dồn

linking_teaser2.gif

Trực quan hóa dữ liệu tương tác nâng cao với plotly trong R

Ví dụ

before_persistent_selection.png

Trực quan hóa dữ liệu tương tác nâng cao với plotly trong R

Tạo biểu đồ cơ bản

shared_data <- world2014 %>% SharedData$new()

p1 <- shared_data %>%
  plot_ly(x=~urban/population, y = ~co2, text = ~country) %>%
  add_markers()

p2 <- shared_data %>%
  plot_ly(x=~income, y = ~co2, text = ~country) %>%
  add_markers()

subplot(p1, p2, titleX = TRUE, shareY = TRUE) %>% 
  hide_legend()
Trực quan hóa dữ liệu tương tác nâng cao với plotly trong R

Chọn giữ nguyên

Bật chọn giữ nguyên với highlight()

subplot(p1, p2, titleX = TRUE, shareY = TRUE) %>% 
  hide_legend() %>%
  highlight(persistent = TRUE)

persistent_selection.gif

Trực quan hóa dữ liệu tương tác nâng cao với plotly trong R

Tô sáng theo màu

dynamic_selection.gif

Trực quan hóa dữ liệu tương tác nâng cao với plotly trong R

Tô sáng theo màu

Thêm dynamic = TRUE để bật bộ chọn màu

subplot(p1, p2, titleX = TRUE, shareY = TRUE) %>% 
  hide_legend() %>%
  highlight(persistent = TRUE, dynamic = TRUE)
Trực quan hóa dữ liệu tương tác nâng cao với plotly trong R

Hai kiểu tác động

Tác động trực tiếp

chọn bằng cách tương tác với phần tử đồ họa

linking_teaser1.gif

Tác động gián tiếp

chọn thông qua truy vấn bên ngoài biểu đồ

indirect_manipulation.gif

Trực quan hóa dữ liệu tương tác nâng cao với plotly trong R

select_time_series.gif

Trực quan hóa dữ liệu tương tác nâng cao với plotly trong R

Tác động gián tiếp

world_indicators %>%
  SharedData$new(key = ~country) %>% 
  plot_ly(x = ~year, y = ~income, alpha = 0.5) %>%
  group_by(country) %>%
  add_lines()
Trực quan hóa dữ liệu tương tác nâng cao với plotly trong R

Tác động gián tiếp

world_indicators %>%
  SharedData$new(key = ~country, group = "Select a country") %>% 
  plot_ly(x = ~year, y = ~income, alpha = 0.5) %>%
  group_by(country) %>%
  add_lines() %>%
  highlight(selectize = TRUE)
Trực quan hóa dữ liệu tương tác nâng cao với plotly trong R

indirect_manipulation.gif

Trực quan hóa dữ liệu tương tác nâng cao với plotly trong R

Ayo berlatih!

Trực quan hóa dữ liệu tương tác nâng cao với plotly trong R

Preparing Video For Download...