From 97c14452326f49a015020d7359bd10d7e2f575aa Mon Sep 17 00:00:00 2001 From: Maxime Wack Date: Wed, 20 Nov 2019 02:51:59 +0100 Subject: [PATCH] Add course 4 --- courses/04-interactivite.Rmd | 361 +++++++++++++++++++++++++++++++++++ courses/04_img/bostock.jpg | Bin 0 -> 42497 bytes 2 files changed, 361 insertions(+) create mode 100644 courses/04-interactivite.Rmd create mode 100644 courses/04_img/bostock.jpg diff --git a/courses/04-interactivite.Rmd b/courses/04-interactivite.Rmd new file mode 100644 index 0000000..86ed210 --- /dev/null +++ b/courses/04-interactivite.Rmd @@ -0,0 +1,361 @@ +--- +title: "Interactivité" +author: "Maxime Wack" +date: "20/11/2019" +output: + xaringan::moon_reader: + css: ['default','css/my_style.css'] + lib_dir: libs + seal: false + nature: + ratio: '4:3' + countIncrementalSlides: false + self-contained: true + beforeInit: "addons/macros.js" +--- + +```{r, include = FALSE} +library(gapminder) +library(tidyverse) +library(DT) +library(knitr) + +opts_chunk$set(message = F) + +options(DT.options = list(paging = F, + info = F, + searching = F)) + +datatable <- partial(datatable, rownames = F) +``` + +class: center, middle, title + +# UE Visualisation + +### 2019-2020 + +## Dr. Maxime Wack + +### AHU Informatique médicale +#### Hôpital Européen Georges Pompidou,
Université de Paris + +--- +class: center, middle + +# Objectif + +## Ajouter de l'**interactivité** à une visualisation + +--- + +# Interactivité + +## Réactivité + +L'objet **réagit** à l'utilisateur, mais n'est pas modifié + +## Interactivité + +L'utilisateur peut **influer** sur l'objet
+Un objet peut en **modifier** un autre + +--- +class: center + +# Outils + +### ggplot2 + ggplotly + +### plotly + +### D3 + +### VegaLite + +### Shiny + +--- +class: center, middle + +# ggplot2 + ggplotly + +--- + +### Installer `plotly` + +```{r install plotly, eval = F} +install.packages("plotly") +``` + +```{r libs} +library(tidyverse) +library(plotly) +``` + +--- + +```{r ggplotly simple} +iris %>% + ggplot() + + aes(x = Petal.Length, fill = Species) + + geom_histogram() -> plot + +ggplotly(plot) +``` + +--- + +```{r ggplotly pipe} +(iris %>% + ggplot() + + aes(x = Petal.Length, y = Petal.Width, color = Species) + + geom_point()) %>% + ggplotly +``` + +--- + +```{r ggplotly complex} +iris %>% + ggplot() + + geom_histogram(data = iris %>% select(-Species), aes(x = Petal.Length)) + + geom_histogram(aes(x = Petal.Length, fill = Species)) + + facet_grid(~Species) -> plot + +ggplotly(plot) +``` + +--- +class:center, middle + +# Plotly + +--- + +# Plotly + +### Utilise aussi une **grammaire de graphiques** + +### Bibliothèque **JS** + +### Interface par un **package R** + +### Couche d'**abstraction** pour ggplot2 + +https://plot.ly/r + +--- + +# Plotly + +### `ggplot` → `plot_ly()` + +### `geom_*` → `add_*` ou `add_trace` + +Les *aes* sont données avec des formules dans les traces + +### `facet_*` → **subplots** + +### `scale_*_*` + `theme` → `layout` + +### `+` → `%>%` + +--- + +```{r plotly simple} +iris %>% + plot_ly() %>% + add_markers(x = ~Sepal.Length, + y = ~Sepal.Width) +``` + +--- + +```{r plotly global aes} +iris %>% + plot_ly(x = ~Sepal.Length, + y = ~Sepal.Width) %>% + add_trace(color = ~Species, + size = 4, + mode = "markers") +``` + +--- + +```{r plotly hover} +iris %>% + plot_ly(x = ~Sepal.Length, + y = ~Sepal.Width, + color = ~Species) %>% + add_markers(size = 2, + hoverinfo = "text", + text = ~str_c("Espèce : ", Species, "\n", + "Longueur de sépale :", Sepal.Length, "\n", + "Largeur de sépale :", Sepal.Width)) +``` + +--- + +# Plotly + +### Interaction poussée (JS) + +### Animations (frame) + +*Aesthetic* d'animation, variable définissant l'état à chaque image clé + +--- +class:center, middle + +```{r plotly anim, warning = F, echo = F} +gapminder %>% + plot_ly(x = ~gdpPercap, + y = ~lifeExp, + size = ~pop, + frame = ~year, + color = ~continent, + text = ~country, + hoverinfo = "text") %>% + add_markers() %>% + layout(xaxis = list(type = "log")) %>% + animation_opts(1000) +``` + +--- + +# D3 + +.pull-left[ +### **D**ata **D**riven **D**ocuments +### Créé par **Mike Bostock** +*Data journalist* au NYT +] + +.pull-right[ +![:scale 50%](04_img/bostock.jpg) +] + +### Moteur *bas niveau* pour manipuler des éléments du DOM et du SVG à partir de données. + +### Notion de grammaire liant données et propriétés CSS, dont **animations** et **transitions** + +.center[https://d3js.org] + +--- +class: center + +# Outils dérivés de D3.js + +## Plot.ly + +## Vega(lite) + +## C3.js + +## R2D3 https://rstudio.github.io/r2d3/ + +--- + +# Réactivité + +## Tous les outils précédents sont **réactifs** + +### → affichage d'un overlay + +### → changement de position/échelle + +### → afficher / masquer / réordonner + +(modulo interactions en *JS* à bricoler soi-même) + + +--- + +# Interactivité + +## Manipulation des données + +## Interactions avec la visualisation + +## Interactions entre éléments de visualisation + +--- + +# Shiny + +### Architecture client/serveur + +### Client = interface web + +### Serveur = runtime R + +https://shiny.rstudio.com/ + +--- + +# Shiny + +## Programmation **événementielle** → programmation **réactive** + +## L'interface est mise à jour *quand nécessaire* + +--- + + +# Interface web + +### Créée dans R + +### Génère HTML + CSS + JS + +### Définit des **input** et **output** + +--- + +# UI + +```{r shiny ui, eval = F} +ui <- fluidPage(titlePanel = "Titre", + sidebarLayout( + sidebarPanel( + sliderInput(inputId = "bins", + label = "Bins", + min = 1, + max = 50, + value = 30, + animate = animationOptions(interval = 100))), + mainPanel(plotOutput(outputId = "figure")))) +``` + +--- + +# Serveur + +### Créé et exécuté dans R + +### Génère les éléments d'**output** en fonction des **input** + +### Les **outputs** peuvent *générer* de l'input (htmlwidgets : DT, plotly, etc.) + +### Le serveur peut créer des **input** dynamiques + +--- + +# Server + +```{r shiny server, eval = F} +server <- function(input, output, session) +{ + set.seed(1234) + normale <- tibble(val = rnorm(1000)) + + output$figure <- renderPlot( + { + normale %>% + ggplot() + + aes(x = val) + + geom_histogram(bins = input$bins) + }) +} +``` diff --git a/courses/04_img/bostock.jpg b/courses/04_img/bostock.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5fd0c75cc34a4e5fa7db4bb7e960b20f418e491f GIT binary patch literal 42497 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 Cj2Y(u literal 0 HcmV?d00001