Amusons nous un peu
Puisque j’édite un nouveau document , dans un nouveau dossier mon diesel.csv
n’y est pas , il faut le copier et le réimporter pour créer le dataframe
.
J’ai découpé le code , ici nous voyons seulement la création du dataframe
.
Au début du code , nous appelons la librairie readr library(readr)
, un peu comme python avec import
.
Et nous appellerons différentes librairie en fonction de nos besoins.
A la fin du code , la commande View(diesel)
affichera le tableau.
library(readr)
diesel <- read_delim("diesel.csv", delim = ";",
escape_double = FALSE, col_types = cols(Date = col_date(format = "%d/%m/%Y"),
Prix = col_number()), locale = locale(date_names = "fr",
decimal_mark = ","), trim_ws = TRUE)
View(diesel)
Creation du graphique
Ici nous allons utiliser la librairie ggplot2 avec library(ggplot2)
, il existe une librairie équivalente avec python qui se nomme matplotlib.
Mais tout d’abord, parlons de ggplot2
Présentation de ggplot2
GGPlot2 est un package R puissant et flexible, implémenté par Hadley Wickham, pour produire des graphiques élégants pièce par pièce (Wickham et al. 2019).
Le gg dans ggplot2 signifie Grammaire du Graphique, un concept graphique qui décrit les graphes en utilisant une “grammaire”. Selon le concept ggplot2, un graphique peut être divisé en différentes parties fondamentales : Graphique = données + Esthétique + Géométrie (ou en anglais Plot = data + Aesthetics + Geometry)
data : data frame
esthétique (ou aesthetics en anglais) : permet d’indiquer
les variables x et y. Il peut également être utilisé pour
contrôler la couleur, la taille et la forme des points, etc…
géométrie : correspond au type de graphique (histogramme,
box plot, line plot, …..)
Voilà pour la présentation.
Voyons maintenant une mise en application simple:
- appel de la librairie:
library(ggplot2)
- initialisation du graphique:
ggplot()
- le graphique concerne le prix du carburant diesel, nous allons donc utiliser le
dataframe
diesel créé précédemment :ggplot(diesel)
- vient ensuite l’esthétique du graphique avec
aes
:ggplot(diesel, eas(x, y))
- puisque il s’agit d’une évolution dans le temps , plaçons la
variable
Date en bas sur l’axe desabcisses
, et lavariable
Prix à gauche sur l’axe des ordonnées:ggplot(diesel, aes(Date, Prix))
- et maintenant la géométrie , prenons le nuage de point
geom_point()
Alors, évidement le nuage de point , n’est pas forcément le meilleur choix , dans ce cas. Je le choisis , pour poursuivre sur esthétique ensuite .
library(ggplot2)
ggplot(diesel, aes(Date,Prix)) +
geom_point()
Plus d’esthétique ?
Modifions les points.
library(ggplot2)
ggplot(diesel, aes(Date,Prix)) +
geom_point(size = 1.2, color = "steelblue", shape = 21)
C’est moins lisible ? Même plus gros, avec une couleur et une forme qui ne convient pas .
On ne rend pas la données plus lisible, ou intelligible avec un mauvais choix de taille et de couleur, à cause du mauvais choix de forme .
Donc changeons ça !!
library(ggplot2)
ggplot(diesel, aes(Date,Prix)) +
geom_point(size = 2, color = "#FC4E07", shape = 19)
geom_line
C’est plus claire avec geom_line .
library(ggplot2)
ggplot(diesel, aes(Date,Prix)) +
geom_line()
#### geom_smooth
Parfaitement inutile ici. Il ne correspond pas du tout à notre graphique, et ne le rend pas intelligible.
library(ggplot2)
ggplot(diesel, aes(Date,Prix)) +
geom_line()+
geom_smooth()
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'