Улучшаем графики

Интерактивная визуализация данных: средний уровень с plotly в R

Adam Loy

Statistician, Carleton College

Приложения без shiny

bscols-example.gif

Интерактивная визуализация данных: средний уровень с plotly в R

bscols() для колоночных макетов

library(plotly)
library(crosstalk)
shared_data <- world2014 %>% SharedData$new()

p1 <- shared_data %>% plot_ly(x=~income, y = ~co2, color = ~four_regions) %>% add_markers() %>% layout(xaxis = list(type = "log"), yaxis = list(type = "log")) p2 <- shared_data %>% plot_ly(x=~income, y = ~life_expectancy, color = ~four_regions) %>% add_markers() %>% layout(xaxis = list(type = "log")))
bscols(p1, p2)
Интерактивная визуализация данных: средний уровень с plotly в R

bscols() для колоночных макетов

bscols_step1.gif

Интерактивная визуализация данных: средний уровень с plotly в R

Добавление фильтров: флажки

bscols_checkbox.gif

bscols(filter_checkbox(id = "four_regions", label = "Region", 
                       sharedData = shared_data, group = ~four_regions),
       p1)
Интерактивная визуализация данных: средний уровень с plotly в R

Добавление фильтров: выпадающий список

bscols_selectbox.gif

bscols(filter_select(id = "four_regions", label = "Region", 
                sharedData = shared_data, group = ~four_regions),
       p1)
Интерактивная визуализация данных: средний уровень с plotly в R

Добавление фильтров: ползунки

bscols_slider.gif

bscols(filter_slider(id = "co2", label = "CO2 concentrations", 
                     sharedData = shared_data, column = ~co2),
       p1)
Интерактивная визуализация данных: средний уровень с plotly в R

Фиксация диапазона осей

bscols_fixed_range.gif

bscols(filter_slider(id = "co2", label = "CO2 concentrations", 
                     sharedData = shared_data, column = ~co2),
        p1 %>% layout(xaxis = list(range = c(2.5, 5)), 
                      yaxis = list(range = c(-1.4, 1.55)))
)
Интерактивная визуализация данных: средний уровень с plotly в R

Собираем всё вместе

bscols(widths = c(2, 5, 5),
  list(
    filter_checkbox(
      id = "four_regions", label = "Region", 
      sharedData = shared_data, group = ~four_regions
    ),
    filter_slider(
      id = "co2", label = "CO2 concentrations", 
      sharedData = shared_data, column = ~co2
    )
  ),
  p1,
  p2
)
Интерактивная визуализация данных: средний уровень с plotly в R

Собираем всё вместе

bscols_result_static.png

Интерактивная визуализация данных: средний уровень с plotly в R

Давайте потренируемся!

Интерактивная визуализация данных: средний уровень с plotly в R

Preparing Video For Download...