01-dataviz-intro.Rmd 8.2KB

5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584
  1. ---
  2. title: "Introduction à la data visualisation"
  3. author: "Antoine Neuraz"
  4. date: "18/11/2019"
  5. output:
  6. xaringan::moon_reader:
  7. css: ['default','css/my_style.css']
  8. lib_dir: libs
  9. seal: false
  10. nature:
  11. ratio: '4:3'
  12. countIncrementalSlides: false
  13. self-contained: true
  14. beforeInit: "addons/macros.js"
  15. ---
  16. ```{r, include = FALSE}
  17. library(ggplot2)
  18. library(dplyr)
  19. ```
  20. class: center, middle, title
  21. # UE Visualisation
  22. ### 2019-2020
  23. ## Dr. Antoine Neuraz
  24. ### AHU Informatique médicale
  25. #### Hôpital Necker-Enfants malades, </br> Université de Paris
  26. ---
  27. class: center, middle
  28. # 2 Objectifs principaux
  29. ### **Principes généraux** de visualisation
  30. --
  31. ### **Application** à l'aide de R et ggplot2
  32. ---
  33. class: center, middle
  34. # Organisation des cours
  35. ### 1ère moitié du cours: théorie
  36. ### 2ème moitié du cours: mise en pratique
  37. ---
  38. class: center, middle
  39. # Evaluation par projet en binôme
  40. ### Mardi après-midi: description du projet
  41. ### Soutenance le **2 décembre**
  42. ---
  43. # Visualisation
  44. .pull-left[![:scale 100%](img/visualisation.jpg)]
  45. .pull-right[
  46. #### 1. Action de rendre visible d'une façon matérielle l'action et les effets d'un phénomène.
  47. #### 2. Présentation visuelle sur un écran, sous forme d'image alphanumérique ou graphique, d'un ensemble d'informations traitées par des moyens informatiques.
  48. ]
  49. ---
  50. class: center, middle
  51. # Pourquoi visualiser ?
  52. ---
  53. # Pourquoi visualiser graphiquement ?
  54. .pull-left[
  55. #### **Plus riches** : plus d’information en moins d’espace
  56. #### Rend la **structure plus visible**
  57. #### **Plus accessible**
  58. #### **Plus rapide** à appréhender
  59. #### **Plus mémorable**
  60. ]
  61. .pull-right[
  62. ![](img/bandwidth.png)
  63. ]
  64. ---
  65. class: left
  66. # Pourquoi mettre un ordinateur dans la boucle ?
  67. </br>
  68. ## **Passage à l’échelle**
  69. --
  70. ## **Efficience**: réutilisation, diffusion
  71. --
  72. ## **Qualité** et **précision**
  73. ---
  74. # Pourquoi mettre un humain dans la boucle ?
  75. ![:abs 85%, 7%, 26%](img/humanVScomputer.png)
  76. ---
  77. class: center, middle
  78. # Buts d'une visualisation
  79. --
  80. .pull-c1[
  81. ### Enregistrer l'information
  82. ]
  83. --
  84. .pull-c2[
  85. ### Analyser
  86. ]
  87. --
  88. .pull-c3[
  89. ### Communiquer
  90. ]
  91. ---
  92. class: center
  93. # Enregistrer l'information
  94. .pull-left[
  95. ![](img/carte-plan-paris.jpg)
  96. ]
  97. .pull-right[
  98. ![](img/ancien-photo.jpg)
  99. ]
  100. ---
  101. class: center, full
  102. # Analyser
  103. .pull-left[
  104. ![](img/higlass.png)
  105. [https://higlass.io/]()
  106. ]
  107. .pull-right[
  108. ![](img/stratomex_explained.png)
  109. [https://frama.link/stratomex]()
  110. ]
  111. ---
  112. class: center, full
  113. # Communiquer
  114. .pull-left[
  115. ![](img/wind-map.png)
  116. [http://hint.fm/wind/]()
  117. ]
  118. .pull-right[
  119. ![:scale 70%](img/us-dendro.png)
  120. [https://frama.link/dendro]()
  121. ]
  122. ---
  123. class: center, middle
  124. # Définition
  125. ### La visualisation est le processus qui **transforme** les données en **représentation graphique** interactive à des fins d’ **exploration**, de **confirmation** ou de **communication**.
  126. ---
  127. # Pourquoi ne pas se limiter aux statistiques ?
  128. ![:abs 80%, 10%, 26%](img/anscombe-stat.png)
  129. ---
  130. # Anscombe's quartet
  131. ![:abs 85%, 7%, 20%](img/anscombe-viz.png)
  132. ---
  133. # Datasaurus dozen
  134. ![:abs 85%, 7%, 18%](img/datasaurus.png)
  135. ---
  136. class: center
  137. ## Un peu d'histoire: enregistrer
  138. .pull-left[
  139. ![:scale 90%](img/davinci.png)
  140. Da Vinci (1500)
  141. ]
  142. .pull-right[
  143. ![:scale 90%](img/galilee.png)
  144. Galilée (1616)
  145. ]
  146. ---
  147. class: center
  148. # Un peu d'histoire: analyser
  149. ![:scale 90%](img/playfair.png)
  150. ### Playfair(1786)
  151. ---
  152. class: center
  153. # Un peu d'histoire: trouver des patterns
  154. ![:scale 60%](img/snow.png)
  155. ### John Snow (1854)
  156. ---
  157. class: center, full
  158. # Communiquer
  159. ![:scale 100%](img/minard.png)
  160. ### Minard(1869)
  161. ---
  162. # 1 second of internet
  163. ![](img/1second.png)
  164. [](https://www.internetlivestats.com/one-second/)
  165. ---
  166. class: center
  167. # London Tube 1927
  168. ![:scale 80%](img/tube1927.png)
  169. ---
  170. class: center
  171. # London Tube 1933
  172. ![:scale 80%](img/tube1933.png)
  173. ---
  174. class: center
  175. # London Tube today
  176. ![:scale 90%](img/tubetoday.png)
  177. ---
  178. class: center, middle, inverse
  179. # Types de datasets
  180. ---
  181. class: center, middle, full
  182. ![](img/dataset_types2.png)
  183. ---
  184. class: center, full
  185. ## Caractéristiques des données de tableau
  186. ![:scale 100%](img/donnees_tableau.png)
  187. ---
  188. # Autres caractéristiques des données
  189. ### **Liens** : relation entre 2 entités (observations, noeuds)
  190. --
  191. ### **Positions** (données spatiales)
  192. --
  193. ### **Grilles** (grids) : stratégie d'échantillonage de données continues
  194. ---
  195. class: center, full
  196. # Types de variables (attributs)
  197. ![](img/types_variables1.png)
  198. --
  199. ![](img/types_variables2.png)
  200. ---
  201. # Variables quantitatives
  202. ### **Intervalles** = zéro arbitraire
  203. ex: Dates, positions géographiques
  204. &rightarrow; pas de comparaison directe (cf °C et °F)
  205. &rightarrow; seulement des différences
  206. --
  207. ### **Ratios** = zero absolu
  208. ex: longueur, masse
  209. &rightarrow; ratios et proportions
  210. ---
  211. class: center, middle
  212. ### Comment peut-on représenter visuellement 2 nombres, par exemple:
  213. ### **4 et 8**
  214. ---
  215. class: center, middle, inverse
  216. # Marques et échelles
  217. ---
  218. # Marques et échelles
  219. ## **Marques** = geometry
  220. ### Représente les **observations** (items) ou les liens
  221. --
  222. </br>
  223. ## **Echelles** = scales
  224. ### Change l'**apparence** des marques en fonction de **variables** (attributs)
  225. ---
  226. # Marques pour observations
  227. ## Eléments géométriques de base
  228. ![](img/marques.png)
  229. --
  230. ## Marques 3D: Volume (rarement utilisé)
  231. ---
  232. class: center, middle, full
  233. ![](img/marques_liens.png)
  234. ---
  235. class: center, full
  236. # **Echelles** (= variables visuelles)
  237. ![:scale 65%](img/echelles.png)
  238. ### Contrôle l'apparence proportionnellement ou en fonction de variables
  239. ---
  240. # Utiliser les marques et les échelles
  241. .pull-left[
  242. ```{r,echo = FALSE}
  243. dt <- data.frame(x = c(1,2,3),
  244. y = c(4, 2, 5),
  245. group = c('A','A', 'B'),
  246. size = c(1,5,7),
  247. cat = c('A','B','C'))
  248. ggplot(data=dt, aes(x=cat, y=y)) +
  249. geom_col() +
  250. theme_void() +
  251. theme(axis.line = element_line(size = 1))
  252. ```
  253. ]
  254. --
  255. .pull-right[
  256. ### **Marque**: ligne
  257. ### **Echelles**: longueur et position
  258. ### **Variables**
  259. #### 1 variable quantitative
  260. #### 1 variable qualitative
  261. ]
  262. ---
  263. # Utiliser les marques et les échelles
  264. .pull-left[
  265. ```{r,echo = FALSE}
  266. ggplot(data=dt, aes(x=x, y=y)) +
  267. geom_point(size = 5) +
  268. xlim(c(0,4)) +
  269. ylim(c(0,7)) +
  270. theme_void() +
  271. theme(axis.line = element_line(size = 1))
  272. ```
  273. ]
  274. --
  275. .pull-right[
  276. ### **Marque**: point
  277. ### **Echelles**: position x et position y
  278. ### **Variables**
  279. #### **2** variables quantitatives
  280. ]
  281. ---
  282. # Utiliser les marques et les échelles
  283. .pull-left[
  284. ```{r,echo = FALSE}
  285. ggplot(data=dt, aes(x=x, y=y, color = group)) +
  286. geom_point(size = 5) +
  287. xlim(c(0,4)) +
  288. ylim(c(0,7)) +
  289. theme_void() +
  290. theme(axis.line = element_line(size = 1),
  291. legend.position = 'none')
  292. ```
  293. ]
  294. --
  295. .pull-right[
  296. ### **Marque**: point
  297. ### **Echelles**: position x et position y
  298. ### **Variables**
  299. #### 2 variables quantitatives
  300. #### **1** variable qualitative
  301. ]
  302. ---
  303. # Utiliser les marques et les échelles
  304. .pull-left[
  305. ```{r,echo = FALSE}
  306. ggplot(data=dt, aes(x=x, y=y, color=group, size = size)) +
  307. geom_point() +
  308. xlim(c(0,4)) +
  309. ylim(c(0,7)) +
  310. theme_void() +
  311. theme(axis.line = element_line(size = 1),
  312. legend.position = "none")
  313. ```
  314. ]
  315. --
  316. .pull-right[
  317. ### **Marque**: point
  318. ### **Echelles**: position x et position y
  319. ### **Variables**
  320. #### **3** variables quantitatives
  321. #### 1 variable qualitative
  322. ]
  323. ---
  324. class: center
  325. # Encodage redondant
  326. ```{r,echo = FALSE, fig.asp= .7, fig.height= 6}
  327. dt = data.frame(x=c(1,2,3,4),
  328. y=c(1,2,3,4))
  329. ggplot(data=dt, aes(x=x, y=y, fill=y)) +
  330. geom_col() +
  331. theme_void() +
  332. theme(axis.line = element_blank(),
  333. legend.position = "none")
  334. ```
  335. ### Longueur, position et Luminosité
  336. ---
  337. class: center
  338. ## Toutes les échelles ne naissent pas égales
  339. .pull-left[
  340. ### **Echelles de magnitudes**
  341. #### Combien ?
  342. ]
  343. --
  344. .pull-right[
  345. ### **Echelles d'identité**
  346. #### Quoi? Où?
  347. ]
  348. ---
  349. class: center
  350. ## Toutes les échelles ne naissent pas égales
  351. .pull-left[
  352. ### **Echelles de magnitudes**
  353. #### Combien ?
  354. Position
  355. Longueur
  356. Saturation
  357. ...
  358. #### **Données quantitatives**
  359. ]
  360. --
  361. .pull-right[
  362. ### **Echelles d'identité**
  363. #### Quoi? Où?
  364. Forme
  365. Teinte
  366. Région spatiale
  367. ...
  368. #### **Données qualitatives**
  369. ]
  370. ---
  371. class: center, full
  372. ## Echelles - efficience
  373. ![:scale 90%](img/echelles_efficience.png)