25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

602 lines
8.4KB

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