SlideShare une entreprise Scribd logo
1  sur  31
DATA VISUALISATION
Master Data Science
Landry ANGOUA
Introduction – Statistiques et
visualisaiton des données
Introduction a R
I. Les bases de la librairie GGPLOT2
1. Qu’est ce qu’un objet ggplot
Un objet ggplot est l’objet de base de la grammaire de
graph.
Il est initialisé à partir d’un ou plusieurs des éléments
suivants:
- un data frame : toujours le premier
paramètre. Peut être précisé aussi à l’aide du paramètre
‘data=dataframe’
- un ou plusieurs aesthetics: à l’aide de la
fonction aes()
I.2 Aesthetics
Il s’agit des propriétés ( axes de abscisses et des
ordonnes, les couleurs, les formes dessinées, le contenu
des formes, la tailles des formes etc ….) du graphique
permettant de projeter des caractéristiques des
données.
Les aesthetics sont liées aux fonctions geom (types de
graphs, dessins) ajoutes aux graphiques
## Generic code
Cas 1
object <- ggplot(dataframe, aes(x = column_1, y =
column_2))
## or, if you don't need to save the object
Cas 2
ggplot(dataframe, aes(x = column_1, y = column_2))
Exemple:
Mon_graph<-ggplot(data=titanic, aes(y=Fare))
I. Les bases de la librairie GGPLOT2
I.3 Creation d’un graphique
Afficher la précision des géoms permet de faire afficher
le graphique.
Cela est réalisé à l’aide des fonction geom_xxx()
NB: les caractéristiques (aes), les data, ainsi que les
types de graphiques (geom) peuvent être utilises de
façon alternatives:
Exemples, les commandes ci-dessous produisent les
mêmes résultats ## Enregistrer un graphique:
1. Ouvrir un graphic device ( pdf, png, etc) à
l’aide des fonctions pdf(), png() …
2. Exécuter le code de création du graphique
3. fermer le graphic device à l’aide de la
fonction dev.off()
## Generic code
Le ‘+’ doit être rajouté à la fin des lignes
geom_histogram()
## Generic code
1.
ggplot(data=titanic, aes(x=Fare))+
geom_histogram()
2.
ggplot(data = titanic) + geom_histogram(aes(x = Fare))
3.
ggplot() + geom_histogram(data = titanic, aes(x = Fare))
I. Les bases de la librairie GGPLOT2
I.4 Geoms
Les fonctions de type geom_xxx() permettent de
préciser la nature du graphique ou d’ajouter des
éléments sur un graphique existant et requiert un ou
plusieurs aesthetics (x, y, but
alpha (transparency), color, fill, group, size, shape,stroke
…)
Chaque fonction geom_xxx dispose de différents types
de paramètres:
1 - de paramètres aesthetics indispensables
2 - de paramètres aesthetics acceptés
3 - d’autres types de parametres
## exemples
Cas 1
ggplot(worldcup, aes(x = Time, y = Passes)) +
geom_point()
Cas 2
ggplot(worldcup, aes(x = Time, y = Passes, color =
Position, size = Shots)) + geom_point()
Cas 3
Mon_graph<-ggplot(data=titanic, aes(x=Fare))+
geom_histogram(bins=15)
## aide:
?geom_histogram
I. Les bases de la librairie GGPLOT2
I.4 Geoms
Le tableau ci dessous donne des exemples de geom et de paramètres
acceptés.
Function Common aesthetics Common arguments
geom_point() x, y
geom_line() x, y arrow, na.rm
geom_segment() x, y, xend, yend arrow, na.rm
geom_path() x, y na.rm
geom_polygon() x, y
geom_histogram() x bins, binwidth
geom_abline() intercept, slope
geom_hline() yintercept
geom_vline() xintercept
geom_smooth() x, y method, se, span
geom_text() x, y, label parse, nudge_x, nudge_y
I. Les bases de la librairie GGPLOT2
I.5 Multiples Geoms
Le langage ggplot permet à l’aide des geoms l’ajout successif
d’information sur un graphique.
Dans l’exemple ci-dessous:
-Nous présentons les joueurs au mondial 2010 suivant le
nombre de leur passe et de leur tirs aux buts (1)
-Nous allons ensuite rajouter des informations sur les joueurs
aux statistiques remarquables (2)
#0
library(dplyr)
noteworthy_players <- worldcup %>% filter(Shots ==
max(Shots) | Passes == max(Passes)) %>%
mutate(point_label = paste(Team, Position, sep = ", "))
#1
ggplot(worldcup, aes(x = Passes, y = Shots))+
#2
geom_point() + geom_text(data = noteworthy_players,
aes(label = point_label), vjust = "inward", hjust = "inward")
## aide:
la libraire ‘dplyr’ simplifie la manipulation des
données.
?mutate
?filter
## aide:
On note ici que l’on a utilise pour ce graphique
des data de deux différents data frame
I. Les bases de la librairie GGPLOT2
I.6 l’aesthetics constante
On peut aussi afficher un aesthetics qui prend une
seule valeur pour toute les données ( couleurs,
forme, size,
. gplot(worldcup, aes(x = Time, y = Passes)) +
geom_point(color = "darkgreen")
## aide:
• Les differentes valeurs que peut prendre l’aes
‘shape’
• Les aesthetics constant doivent être appelés
en dehors de la clause aes()
Element Description
ggtitle Plot title
xlab, ylab x- and y-axis labels
xlim, ylim Limits of x- and y-axis
I.7 extension ggplot
I. Les bases de la librairie GGPLOT2
I.8 Exemples : Histogram
I. Les bases de la librairie GGPLOT2
I.8 Exemples : scaterplot
II. Customisation GGPLOT2
1. Best Practices
II.1.1. Densite des data par pixel
Une des bonnes pratiques est de garder les graphiques les
moins surcharge possibles en pixel. L’objectif étant d’avoir
le taux d’information par pixel le plus eleve possible
## aide:
Le theme retenu est ici capital:
exemple: theme_linedraw, theme_dark,
theme_void, theme_dark, theme_classic,
theme_tufte…
LOW DENSITY
HIGH DENSITY
II. Customisation GGPLOT2
1. Best Practices
II.1.2. La clarté des labels
S’efforcer à disposer des labels et notifications
compréhensibles
## aide:
la libraire ‘dplyr’ simplifie la manipulation des
donnees.
?fct_recode = > reondification de label
?filter
A éviter
Bonne pratique
## aide:
coord_flip permet d’inverser les axes.
## aide:
Les fonctions xlab, ylab,
scale_x_continuous, ggtitle
II. Customisation GGPLOT2
1. Best Practices
II.1.3. L’usage des références
L’objectif est de rajouter aux graphiques des repères ou
références ( ligne de démarcation verticales ou
horizontales, intervalle de confiance etc)
A eviter
## aide:
coord_flip permet d’inverser les axes.
## aide:
Geom_smooth, geom_hline,
geom_vline, …
A éviter
Bonne pratique
II. Customisation GGPLOT2
1. Best Practices
II.1.4. La mise en exergue
Il s’agit de mettre en exergue des informations
permettant une meilleure compréhension du
graphique ou que l’on juge nécessaire ( des outliers..)
## aide:
coord_flip permet d’inverser les axes.
## aide:
mutate,, …
A éviter
Bonne pratique
II. Customisation GGPLOT2
1. Best Practices
II.1.5. Les multiples visualisations
Il s agit de visualiser des sous-ensemble du jeu de
données, dans des plans ( repères ) juxtaposées.
## aide:
 facet_grid : range les sous graph par lignes et colonnes suivant les options de la fonction
 Facet_wrap: organise les sous-graphs obligatoirement en nombre de ligne et de colonne. Utile lorsqu’il y
a plusieurs modalités
A éviter
Bonne pratique
II. Customisation GGPLOT2
1. Best Practices
II.1.6. L’ordre
Le choix de l’ordre peut améliorer l’intelligibilité d’un
graphique
## aide:
 dplyr: arrange: permet de réorganiser suivant une variable
## arrange & mutate : pour réorganiser les données
summary_wc<- summary_wc%>%
arrange(mean_time) %>% # re-order and re-set
mutate(Team = factor(Team, levels = Team))
A éviter Bonne pratique
II. Customisation GGPLOT2
1. Best Practices
1.4. Echelles et couleurs
Les fonctions scale_[aesthetic]_[vector] permettent de
modifier l’échelle et la gradation, la légende de
n’importe quel aesthetics, ( x,y, size, color ect).
#0
ggplot(worldcup, aes(x = Time, y = Passes, color = Position,
size = Shots)) + geom_point(alpha = 0.5) +
scale_x_continuous(name = "Time played (minutes)",
breaks = 90 * c(2, 4, 6), minor_breaks = 90 * c(1, 3, 5))+
scale_size_continuous(name = "Shots on goal", breaks = c(0,
10, 20))
Parametres de scale Description
name Label ou la légende
breaks Le vecteur des principaux ‘breaks’
minor_breaks Le vecteur des ‘breaks’ secondaires
labels Label des breaks (variable categorielle)
limits Les limites de l’axe
## Exemples:
 scale_x_continuous
 Sacle_y_log
 scale_color_gradient (variable continue)
 scale_color_brewer (usage de palette)
 scale_color_manual
 scale_fill_viridis
III. Mapping
1. Cartographie dans R
3.1.1 Créer une carte avec ggplot2
Plusieurs fonctions permettent de représenter des
cartes:
> parler de geom_path vs geom_line, geom_polygone
Parler du package de couleur viridis
us_map %>%
filter(region %in% c("north carolina"
, "south carolina")) %>%
ggplot(aes(x = long, y = lat)) +
geom_point()
us_map %>%
filter(region %in% c("north
carolina", "south carolina")) %>%
ggplot(aes(x = long, y = lat
, group=group)) +
geom_path()
us_map %>%
filter(region %in% c("north
carolina", "south carolina"))
%>%
ggplot(aes(x = long, y = lat
, group=group)) +
geom_polygon()+
theme_void()
III. Mapping
1. Cartographie dans R
3.1.1 Créer une carte avec ggplot2
Dans cet exemple on représente le score du parti
républicains aux elections présidentielle de 1976 dans
chaque état.
>Table_with_vote= votes.repub %>%
tbl_df() %>% mutate(state
= rownames(votes.repub),
state = tolower(state)) %>%
right_join(us_map, by = c("state" =
"region"))
>ggplot(Table_with_vote,aes(x = long, y
= lat, group = group, fill = `1976`)) +
geom_polygon(color = "black") +
theme_void() +
scale_fill_viridis(name = "Republicannvotes
(%)")
III. Mapping
1. Cartographie dans R
3.1.2. leaflet
Lorsqu’on ne dispose pas des donnes dans le bon
format, nous pouvons utiliser la bibliothèque leaflet.
Dans l’exemple ci-dessous on représente sur une carte
de la commune du plateau à Abidjan, des points
identifies par leur coordonnées en longitude et
latitude.
> library(leaflet)
Abidjan= data.frame(c(1,2,3,4)
, c(5.316658,
5.333894,5.320400),c(-4.032177,
-4.010441,-4.017852))
colnames(Abidjan)<-c('id',"lat","lng")
leaflet() %>%
addTiles() %>%
addMarkers(data = Abidjan[c(1,2,3),]
, lng = ~lng, lat=~lat)
IV. Techniques Avancées
1. Les graphiques interactifs
4.1.1 Le package Plotly
Ce package permet de créer des graphiques interactifs que
l’on peut visualiser des supports HTML.
Creation de graphique à l’aide de plot_ly
>library(plotly)
plot_ly(worldcup, type = "scatter", x = ~ Time, y = ~ Shots,
color = ~ Position)
## aide:
>Dans plot_ly, les variables sont affectées a
l’aide de x=~var
> Les asthetics constant sont renseignés à
l’aide de la fonctin I() sans le ‘~’
ex: color = I("blue")
> nepali%>%
plot_ly(x=~ht)%>%
add_histogram( color = I("lightblue"))
IV. Techniques Avancées
1. Les graphiques interactifs
4.1.1 Le package Plotly
## aide:
> Les tags html peuvent être utilisés
>Les fonctions add_* jouent le rôle des
geom* de ggplot : add_markers, add_lines,
add_paths, add_histograms…
> worldcup %>%
mutate(Name = rownames(worldcup)) %>%
plot_ly(x = ~ Time, y = ~ Shots, color = ~ Position)>%
add_markers(text = ~ paste("<b>Name:</b> ", Name
, "<br />", "<b>Team:</b> ", Team),
hoverinfo = "text") > nepali%>%
plot_ly(x=~ht)%>%
add_histogram( color = I("lightblue"))
IV. Techniques Avancées
1. Les graphiques interactifs
4.1.1 Le package Plotly
Création de graphique à l’aide de ggplotly
Il est aussi possible de changer des graphiques ggplot en
graphiques plotly en utilisant la fonction ggpoltly
>worldcup_scatter <- worldcup %>%
ggplot(aes(x = Time, y = Shots, color = Position)) +
geom_point()
ggplotly(worldcup_scatter)
IV. Techniques Avancées
1. R shiny
Rshiny permet de construire des interfaces web d’interaction
avec les utilisateurs. Sans se limiter aux graphiques, R shiny
permet de construire des environnements de tableaux de
bords et de graphiques interactifs.
4.1.1. Apparence
Les applications Shiny peuvent être exécutée dans une
fenêtre R studio ou dans une interface web.
## aide:
install.packages("shiny")
L’exemple ci-dessous est l’un des 11 built-in exemple du
package
library(shiny)
runExample("01_hello")
IV. Techniques Avancées
1. R shiny
 Ui: qui definit l’interface utilisateur
 Server: qui precise le fonctionnement de l’application:
l’usage des inputs, et l’obtention des outputs
 L’applel de la fonction shinyapp
## aide:
Cela peut etre executer aussi directement a partir
du script app.R dans R studio, via le bouton
d’execution.
4.1.2. structure
Toute application shiny est contenue dans un seul script
nome « app.R ».
Le dossier contenant le script donne son nom à l’application.
Ce script a 3 composantes
4.1.3. Execution
Si le dossier contenant le fichier App.R s’appelle
MonApplication, l’application pourra etre executee
a l’aide de runApp :
Strucuture du script App.R
library(shiny)
ui <- fluidPage(
)
server <- function(input, output) {
…
}
shinyApp(ui = ui, server = server)
library(shiny)
runApp( "MonApplication"
IV. Techniques Avancées
1. R shiny
Rshiny permet de construire des interfaces web d’interaction
avec les utilisateurs. Sans se limiter aux graphiques, R shiny
permet de construire des environnements de tableaux de
bords et de graphiques interactifs.
4.1.1. Apparence
Les applications Shiny peuvent être exécutée dans une fenêtre R
studio ou dans une interface web.
L’exemple ci-dessous est l’un des 11 built-in exemple du package
## aide:
install.packages("shiny")
library(shiny)
runExample("01_hello")
## aide:
Dans install.packages("shiny")
IV. Techniques Avancées
1. R shiny
4.1.4. Interface
L’UI est constituée de deux éléments principaux le
a. Titlepanel
b.SidebarLayout :
> sidebarPanel fonction d’output
> mainPanel fonction d’output
## aide:
les tag HTML peuvent être utilisés pour enrichir
les textes
>img(src = "my_image.png", height = 72,
width = 72)
## aide:
les tag HTML peuvent être utilisés pour enrichir
les textes
Des images et contenus media peuvent être
intégrés à l’interface à l’aide de la commande
img().
Ces images doivent être sauvegardes dans un
dossier www sauvegarder à la racine.
IV. Techniques Avancées
1. R shiny
4.1.4. Interface
Il est possible de rajouter des contrôles d’input et
d’output dans l’interface.
Contrôles d’Input
Ces contrôles sont crées par les mots clés controleInput
et nécessite deux paramètres obligatoires: un nom et
un label, et d’autres paramètres en fonction du
contrôle.
numericInput("Nom"," Label", value = 1)
Les noms des contrôles ainsi crées seront utilisés
comme input dans la fonction server
IV. Techniques Avancées
1. R shiny
4.1.4. Interface
Contrôles Output
Ces contrôles sont crées pour renvoyer de la données
à l’utilisateur.
Ils sont crées en rajoutant dans l’UI des commandes
de types ControlOutput.
Ces contrôles prennent un seul paramètre le nom de
l’output qui sera renvoyé par la fonction server
textOutput("Nom")
IV. Techniques Avancées
1. R shiny
4.1.4. Server
La fonction server prend deux paramètres: Input et Output.
Les composantes de l’objet Output sont tous les noms des
contrôles Output crées dans la section UI. Ils sont définis
dans la fonction server en utilisant une fonction render*.
output$distPlot <- renderPlot (
{
x <- faithful$waiting bins <- seq(min(x), max(x), length.out =
input$bins + 1)
hist(x, breaks = bins, col = "#75AADB", border = "orange", xlab
= "Waiting time to next eruption (in mins)", main = "Histogram
of waiting times")
}
Par ailleurs les fonctions render* utilisent en paramètres
un ou plusieurs éléments de la liste Input.

Contenu connexe

Similaire à Cours Visualisaton 2018 - 2019.pptx

Quoi de neuf dans post gis 2.0 le raster bien sur mais beaucoup plus
Quoi de neuf dans post gis 2.0 le raster bien sur mais beaucoup plusQuoi de neuf dans post gis 2.0 le raster bien sur mais beaucoup plus
Quoi de neuf dans post gis 2.0 le raster bien sur mais beaucoup plusVisionGÉOMATIQUE2012
 
Ebook matlab
Ebook matlabEbook matlab
Ebook matlabN NASRI
 
TP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage MachineTP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage MachineBoubaker KHMILI
 
Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5SmartnSkilled
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdfOuailChoukhairi
 
PostGIS @ Pgday.eu 2009
PostGIS @ Pgday.eu 2009PostGIS @ Pgday.eu 2009
PostGIS @ Pgday.eu 2009Oslandia
 
pattes de mouche Pyconfr 2014
pattes de mouche Pyconfr 2014pattes de mouche Pyconfr 2014
pattes de mouche Pyconfr 2014Guillaume Gay
 
DataDrill EXPRESS: Les équations dans DataDrill
DataDrill EXPRESS: Les équations dans DataDrill DataDrill EXPRESS: Les équations dans DataDrill
DataDrill EXPRESS: Les équations dans DataDrill Olivier Pinette
 
Calcul scientifique avec python Numpy
Calcul scientifique avec python NumpyCalcul scientifique avec python Numpy
Calcul scientifique avec python NumpyHaytam EL YOUSSFI
 
# Modes De Representation
# Modes De Representation# Modes De Representation
# Modes De Representationteam_ratp
 
Benharratharijtp2 classification
Benharratharijtp2 classificationBenharratharijtp2 classification
Benharratharijtp2 classificationARIJ BenHarrath
 

Similaire à Cours Visualisaton 2018 - 2019.pptx (20)

Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Quoi de neuf dans post gis 2.0 le raster bien sur mais beaucoup plus
Quoi de neuf dans post gis 2.0 le raster bien sur mais beaucoup plusQuoi de neuf dans post gis 2.0 le raster bien sur mais beaucoup plus
Quoi de neuf dans post gis 2.0 le raster bien sur mais beaucoup plus
 
Mathématiques et Python
Mathématiques et PythonMathématiques et Python
Mathématiques et Python
 
Ebook matlab
Ebook matlabEbook matlab
Ebook matlab
 
TP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage MachineTP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage Machine
 
Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdf
 
PostGIS @ Pgday.eu 2009
PostGIS @ Pgday.eu 2009PostGIS @ Pgday.eu 2009
PostGIS @ Pgday.eu 2009
 
pattes de mouche Pyconfr 2014
pattes de mouche Pyconfr 2014pattes de mouche Pyconfr 2014
pattes de mouche Pyconfr 2014
 
Rapport MOGPL
Rapport MOGPLRapport MOGPL
Rapport MOGPL
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
OpenLayers 3
OpenLayers 3OpenLayers 3
OpenLayers 3
 
Formation sig
Formation sigFormation sig
Formation sig
 
DataDrill EXPRESS: Les équations dans DataDrill
DataDrill EXPRESS: Les équations dans DataDrill DataDrill EXPRESS: Les équations dans DataDrill
DataDrill EXPRESS: Les équations dans DataDrill
 
Calcul scientifique avec python Numpy
Calcul scientifique avec python NumpyCalcul scientifique avec python Numpy
Calcul scientifique avec python Numpy
 
Theme 7
Theme 7Theme 7
Theme 7
 
Hibernate
HibernateHibernate
Hibernate
 
# Modes De Representation
# Modes De Representation# Modes De Representation
# Modes De Representation
 
Benharratharijtp2 classification
Benharratharijtp2 classificationBenharratharijtp2 classification
Benharratharijtp2 classification
 
Isomorphespolynomial
IsomorphespolynomialIsomorphespolynomial
Isomorphespolynomial
 

Dernier

Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfssuser40e112
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.docKarimKhrifech
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 

Dernier (20)

Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.doc
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 

Cours Visualisaton 2018 - 2019.pptx

  • 1. DATA VISUALISATION Master Data Science Landry ANGOUA
  • 2. Introduction – Statistiques et visualisaiton des données
  • 4. I. Les bases de la librairie GGPLOT2 1. Qu’est ce qu’un objet ggplot Un objet ggplot est l’objet de base de la grammaire de graph. Il est initialisé à partir d’un ou plusieurs des éléments suivants: - un data frame : toujours le premier paramètre. Peut être précisé aussi à l’aide du paramètre ‘data=dataframe’ - un ou plusieurs aesthetics: à l’aide de la fonction aes() I.2 Aesthetics Il s’agit des propriétés ( axes de abscisses et des ordonnes, les couleurs, les formes dessinées, le contenu des formes, la tailles des formes etc ….) du graphique permettant de projeter des caractéristiques des données. Les aesthetics sont liées aux fonctions geom (types de graphs, dessins) ajoutes aux graphiques ## Generic code Cas 1 object <- ggplot(dataframe, aes(x = column_1, y = column_2)) ## or, if you don't need to save the object Cas 2 ggplot(dataframe, aes(x = column_1, y = column_2)) Exemple: Mon_graph<-ggplot(data=titanic, aes(y=Fare))
  • 5. I. Les bases de la librairie GGPLOT2 I.3 Creation d’un graphique Afficher la précision des géoms permet de faire afficher le graphique. Cela est réalisé à l’aide des fonction geom_xxx() NB: les caractéristiques (aes), les data, ainsi que les types de graphiques (geom) peuvent être utilises de façon alternatives: Exemples, les commandes ci-dessous produisent les mêmes résultats ## Enregistrer un graphique: 1. Ouvrir un graphic device ( pdf, png, etc) à l’aide des fonctions pdf(), png() … 2. Exécuter le code de création du graphique 3. fermer le graphic device à l’aide de la fonction dev.off() ## Generic code Le ‘+’ doit être rajouté à la fin des lignes geom_histogram() ## Generic code 1. ggplot(data=titanic, aes(x=Fare))+ geom_histogram() 2. ggplot(data = titanic) + geom_histogram(aes(x = Fare)) 3. ggplot() + geom_histogram(data = titanic, aes(x = Fare))
  • 6. I. Les bases de la librairie GGPLOT2 I.4 Geoms Les fonctions de type geom_xxx() permettent de préciser la nature du graphique ou d’ajouter des éléments sur un graphique existant et requiert un ou plusieurs aesthetics (x, y, but alpha (transparency), color, fill, group, size, shape,stroke …) Chaque fonction geom_xxx dispose de différents types de paramètres: 1 - de paramètres aesthetics indispensables 2 - de paramètres aesthetics acceptés 3 - d’autres types de parametres ## exemples Cas 1 ggplot(worldcup, aes(x = Time, y = Passes)) + geom_point() Cas 2 ggplot(worldcup, aes(x = Time, y = Passes, color = Position, size = Shots)) + geom_point() Cas 3 Mon_graph<-ggplot(data=titanic, aes(x=Fare))+ geom_histogram(bins=15) ## aide: ?geom_histogram
  • 7. I. Les bases de la librairie GGPLOT2 I.4 Geoms Le tableau ci dessous donne des exemples de geom et de paramètres acceptés. Function Common aesthetics Common arguments geom_point() x, y geom_line() x, y arrow, na.rm geom_segment() x, y, xend, yend arrow, na.rm geom_path() x, y na.rm geom_polygon() x, y geom_histogram() x bins, binwidth geom_abline() intercept, slope geom_hline() yintercept geom_vline() xintercept geom_smooth() x, y method, se, span geom_text() x, y, label parse, nudge_x, nudge_y
  • 8. I. Les bases de la librairie GGPLOT2 I.5 Multiples Geoms Le langage ggplot permet à l’aide des geoms l’ajout successif d’information sur un graphique. Dans l’exemple ci-dessous: -Nous présentons les joueurs au mondial 2010 suivant le nombre de leur passe et de leur tirs aux buts (1) -Nous allons ensuite rajouter des informations sur les joueurs aux statistiques remarquables (2) #0 library(dplyr) noteworthy_players <- worldcup %>% filter(Shots == max(Shots) | Passes == max(Passes)) %>% mutate(point_label = paste(Team, Position, sep = ", ")) #1 ggplot(worldcup, aes(x = Passes, y = Shots))+ #2 geom_point() + geom_text(data = noteworthy_players, aes(label = point_label), vjust = "inward", hjust = "inward") ## aide: la libraire ‘dplyr’ simplifie la manipulation des données. ?mutate ?filter ## aide: On note ici que l’on a utilise pour ce graphique des data de deux différents data frame
  • 9. I. Les bases de la librairie GGPLOT2 I.6 l’aesthetics constante On peut aussi afficher un aesthetics qui prend une seule valeur pour toute les données ( couleurs, forme, size, . gplot(worldcup, aes(x = Time, y = Passes)) + geom_point(color = "darkgreen") ## aide: • Les differentes valeurs que peut prendre l’aes ‘shape’ • Les aesthetics constant doivent être appelés en dehors de la clause aes() Element Description ggtitle Plot title xlab, ylab x- and y-axis labels xlim, ylim Limits of x- and y-axis I.7 extension ggplot
  • 10. I. Les bases de la librairie GGPLOT2 I.8 Exemples : Histogram
  • 11. I. Les bases de la librairie GGPLOT2 I.8 Exemples : scaterplot
  • 12. II. Customisation GGPLOT2 1. Best Practices II.1.1. Densite des data par pixel Une des bonnes pratiques est de garder les graphiques les moins surcharge possibles en pixel. L’objectif étant d’avoir le taux d’information par pixel le plus eleve possible ## aide: Le theme retenu est ici capital: exemple: theme_linedraw, theme_dark, theme_void, theme_dark, theme_classic, theme_tufte… LOW DENSITY HIGH DENSITY
  • 13. II. Customisation GGPLOT2 1. Best Practices II.1.2. La clarté des labels S’efforcer à disposer des labels et notifications compréhensibles ## aide: la libraire ‘dplyr’ simplifie la manipulation des donnees. ?fct_recode = > reondification de label ?filter A éviter Bonne pratique ## aide: coord_flip permet d’inverser les axes. ## aide: Les fonctions xlab, ylab, scale_x_continuous, ggtitle
  • 14. II. Customisation GGPLOT2 1. Best Practices II.1.3. L’usage des références L’objectif est de rajouter aux graphiques des repères ou références ( ligne de démarcation verticales ou horizontales, intervalle de confiance etc) A eviter ## aide: coord_flip permet d’inverser les axes. ## aide: Geom_smooth, geom_hline, geom_vline, … A éviter Bonne pratique
  • 15. II. Customisation GGPLOT2 1. Best Practices II.1.4. La mise en exergue Il s’agit de mettre en exergue des informations permettant une meilleure compréhension du graphique ou que l’on juge nécessaire ( des outliers..) ## aide: coord_flip permet d’inverser les axes. ## aide: mutate,, … A éviter Bonne pratique
  • 16. II. Customisation GGPLOT2 1. Best Practices II.1.5. Les multiples visualisations Il s agit de visualiser des sous-ensemble du jeu de données, dans des plans ( repères ) juxtaposées. ## aide:  facet_grid : range les sous graph par lignes et colonnes suivant les options de la fonction  Facet_wrap: organise les sous-graphs obligatoirement en nombre de ligne et de colonne. Utile lorsqu’il y a plusieurs modalités A éviter Bonne pratique
  • 17. II. Customisation GGPLOT2 1. Best Practices II.1.6. L’ordre Le choix de l’ordre peut améliorer l’intelligibilité d’un graphique ## aide:  dplyr: arrange: permet de réorganiser suivant une variable ## arrange & mutate : pour réorganiser les données summary_wc<- summary_wc%>% arrange(mean_time) %>% # re-order and re-set mutate(Team = factor(Team, levels = Team)) A éviter Bonne pratique
  • 18. II. Customisation GGPLOT2 1. Best Practices 1.4. Echelles et couleurs Les fonctions scale_[aesthetic]_[vector] permettent de modifier l’échelle et la gradation, la légende de n’importe quel aesthetics, ( x,y, size, color ect). #0 ggplot(worldcup, aes(x = Time, y = Passes, color = Position, size = Shots)) + geom_point(alpha = 0.5) + scale_x_continuous(name = "Time played (minutes)", breaks = 90 * c(2, 4, 6), minor_breaks = 90 * c(1, 3, 5))+ scale_size_continuous(name = "Shots on goal", breaks = c(0, 10, 20)) Parametres de scale Description name Label ou la légende breaks Le vecteur des principaux ‘breaks’ minor_breaks Le vecteur des ‘breaks’ secondaires labels Label des breaks (variable categorielle) limits Les limites de l’axe ## Exemples:  scale_x_continuous  Sacle_y_log  scale_color_gradient (variable continue)  scale_color_brewer (usage de palette)  scale_color_manual  scale_fill_viridis
  • 19. III. Mapping 1. Cartographie dans R 3.1.1 Créer une carte avec ggplot2 Plusieurs fonctions permettent de représenter des cartes: > parler de geom_path vs geom_line, geom_polygone Parler du package de couleur viridis us_map %>% filter(region %in% c("north carolina" , "south carolina")) %>% ggplot(aes(x = long, y = lat)) + geom_point() us_map %>% filter(region %in% c("north carolina", "south carolina")) %>% ggplot(aes(x = long, y = lat , group=group)) + geom_path() us_map %>% filter(region %in% c("north carolina", "south carolina")) %>% ggplot(aes(x = long, y = lat , group=group)) + geom_polygon()+ theme_void()
  • 20. III. Mapping 1. Cartographie dans R 3.1.1 Créer une carte avec ggplot2 Dans cet exemple on représente le score du parti républicains aux elections présidentielle de 1976 dans chaque état. >Table_with_vote= votes.repub %>% tbl_df() %>% mutate(state = rownames(votes.repub), state = tolower(state)) %>% right_join(us_map, by = c("state" = "region")) >ggplot(Table_with_vote,aes(x = long, y = lat, group = group, fill = `1976`)) + geom_polygon(color = "black") + theme_void() + scale_fill_viridis(name = "Republicannvotes (%)")
  • 21. III. Mapping 1. Cartographie dans R 3.1.2. leaflet Lorsqu’on ne dispose pas des donnes dans le bon format, nous pouvons utiliser la bibliothèque leaflet. Dans l’exemple ci-dessous on représente sur une carte de la commune du plateau à Abidjan, des points identifies par leur coordonnées en longitude et latitude. > library(leaflet) Abidjan= data.frame(c(1,2,3,4) , c(5.316658, 5.333894,5.320400),c(-4.032177, -4.010441,-4.017852)) colnames(Abidjan)<-c('id',"lat","lng") leaflet() %>% addTiles() %>% addMarkers(data = Abidjan[c(1,2,3),] , lng = ~lng, lat=~lat)
  • 22. IV. Techniques Avancées 1. Les graphiques interactifs 4.1.1 Le package Plotly Ce package permet de créer des graphiques interactifs que l’on peut visualiser des supports HTML. Creation de graphique à l’aide de plot_ly >library(plotly) plot_ly(worldcup, type = "scatter", x = ~ Time, y = ~ Shots, color = ~ Position) ## aide: >Dans plot_ly, les variables sont affectées a l’aide de x=~var > Les asthetics constant sont renseignés à l’aide de la fonctin I() sans le ‘~’ ex: color = I("blue") > nepali%>% plot_ly(x=~ht)%>% add_histogram( color = I("lightblue"))
  • 23. IV. Techniques Avancées 1. Les graphiques interactifs 4.1.1 Le package Plotly ## aide: > Les tags html peuvent être utilisés >Les fonctions add_* jouent le rôle des geom* de ggplot : add_markers, add_lines, add_paths, add_histograms… > worldcup %>% mutate(Name = rownames(worldcup)) %>% plot_ly(x = ~ Time, y = ~ Shots, color = ~ Position)>% add_markers(text = ~ paste("<b>Name:</b> ", Name , "<br />", "<b>Team:</b> ", Team), hoverinfo = "text") > nepali%>% plot_ly(x=~ht)%>% add_histogram( color = I("lightblue"))
  • 24. IV. Techniques Avancées 1. Les graphiques interactifs 4.1.1 Le package Plotly Création de graphique à l’aide de ggplotly Il est aussi possible de changer des graphiques ggplot en graphiques plotly en utilisant la fonction ggpoltly >worldcup_scatter <- worldcup %>% ggplot(aes(x = Time, y = Shots, color = Position)) + geom_point() ggplotly(worldcup_scatter)
  • 25. IV. Techniques Avancées 1. R shiny Rshiny permet de construire des interfaces web d’interaction avec les utilisateurs. Sans se limiter aux graphiques, R shiny permet de construire des environnements de tableaux de bords et de graphiques interactifs. 4.1.1. Apparence Les applications Shiny peuvent être exécutée dans une fenêtre R studio ou dans une interface web. ## aide: install.packages("shiny") L’exemple ci-dessous est l’un des 11 built-in exemple du package library(shiny) runExample("01_hello")
  • 26. IV. Techniques Avancées 1. R shiny  Ui: qui definit l’interface utilisateur  Server: qui precise le fonctionnement de l’application: l’usage des inputs, et l’obtention des outputs  L’applel de la fonction shinyapp ## aide: Cela peut etre executer aussi directement a partir du script app.R dans R studio, via le bouton d’execution. 4.1.2. structure Toute application shiny est contenue dans un seul script nome « app.R ». Le dossier contenant le script donne son nom à l’application. Ce script a 3 composantes 4.1.3. Execution Si le dossier contenant le fichier App.R s’appelle MonApplication, l’application pourra etre executee a l’aide de runApp : Strucuture du script App.R library(shiny) ui <- fluidPage( ) server <- function(input, output) { … } shinyApp(ui = ui, server = server) library(shiny) runApp( "MonApplication"
  • 27. IV. Techniques Avancées 1. R shiny Rshiny permet de construire des interfaces web d’interaction avec les utilisateurs. Sans se limiter aux graphiques, R shiny permet de construire des environnements de tableaux de bords et de graphiques interactifs. 4.1.1. Apparence Les applications Shiny peuvent être exécutée dans une fenêtre R studio ou dans une interface web. L’exemple ci-dessous est l’un des 11 built-in exemple du package ## aide: install.packages("shiny") library(shiny) runExample("01_hello") ## aide: Dans install.packages("shiny")
  • 28. IV. Techniques Avancées 1. R shiny 4.1.4. Interface L’UI est constituée de deux éléments principaux le a. Titlepanel b.SidebarLayout : > sidebarPanel fonction d’output > mainPanel fonction d’output ## aide: les tag HTML peuvent être utilisés pour enrichir les textes >img(src = "my_image.png", height = 72, width = 72) ## aide: les tag HTML peuvent être utilisés pour enrichir les textes Des images et contenus media peuvent être intégrés à l’interface à l’aide de la commande img(). Ces images doivent être sauvegardes dans un dossier www sauvegarder à la racine.
  • 29. IV. Techniques Avancées 1. R shiny 4.1.4. Interface Il est possible de rajouter des contrôles d’input et d’output dans l’interface. Contrôles d’Input Ces contrôles sont crées par les mots clés controleInput et nécessite deux paramètres obligatoires: un nom et un label, et d’autres paramètres en fonction du contrôle. numericInput("Nom"," Label", value = 1) Les noms des contrôles ainsi crées seront utilisés comme input dans la fonction server
  • 30. IV. Techniques Avancées 1. R shiny 4.1.4. Interface Contrôles Output Ces contrôles sont crées pour renvoyer de la données à l’utilisateur. Ils sont crées en rajoutant dans l’UI des commandes de types ControlOutput. Ces contrôles prennent un seul paramètre le nom de l’output qui sera renvoyé par la fonction server textOutput("Nom")
  • 31. IV. Techniques Avancées 1. R shiny 4.1.4. Server La fonction server prend deux paramètres: Input et Output. Les composantes de l’objet Output sont tous les noms des contrôles Output crées dans la section UI. Ils sont définis dans la fonction server en utilisant une fonction render*. output$distPlot <- renderPlot ( { x <- faithful$waiting bins <- seq(min(x), max(x), length.out = input$bins + 1) hist(x, breaks = bins, col = "#75AADB", border = "orange", xlab = "Waiting time to next eruption (in mins)", main = "Histogram of waiting times") } Par ailleurs les fonctions render* utilisent en paramètres un ou plusieurs éléments de la liste Input.