3 min read

Créer son premier graph

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, …..)

source datanovia

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 des abcisses, et la variable 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'