Matériel accompagnateur

Modifier le format par défaut des graphiques: pourquoi?

Une fois que nous avons un graphique, il est souvent avantageux de modifier le format par défaut, et ce pour plusieurs raisons. Premièrement, nous voulons présenter les données de la façon la plus claire possible, ce qui n’est pas toujours le cas avec les valeurs par défaut. Par exemple, des points peuvent se chevaucher sur un graphique de nuages de points, ou le nombre de classes par défaut d’un histogramme peuvent ne pas présenter adéquatement la distribution de fréquence des données. Deuxièmement, les standards requis pour inclure un graphique dans un travail ou une publication ne sont pas toujours atteints avec les valeurs par défaut. En effet, nous voulons avoir le titre et les axes les plus clairs possibles, sans avoir à faire des changements manuellement plus tard dans un autre logiciel.

Ces paramètres qui précisent les options de visualisation doivent être ajoutées à la fonction de base que nous tapons pour obtenir un graphique.

Si on veut modifier le format des symboles d’un graphique à nuage de points, on invoque la fonction de base plot() et on y ajoute les options, ici pour la forme des symboles pch.

Nous verrons des exemples avec les graphiques de base que vous avez déjà explorés, soit l’histogramme, le nuage de point, le graphique à moustache et le barplot.

La puissance de la fonction d’aide

Il n’y a pas d’avantage à retenir par coeur toutes les options qui s’offrent à vous pour la modification d’un graphique dans R. Faites comme les pros et servez-vous de la fonction d’aide pour aller chercher les paramètres optionnels:

Le cas spécial des couleurs

R nous donne la possibilité de choisir parmi un grand nombre de couleurs pour nos graphiques. On utilise l’argument col = "nom_de_la_couleur" pour préciser notre choix (en anglais: “blue”, “red”, etc.). La palette disponible est assez large. Les noms des couleurs possibles sont présentés dans le document Colors in R à l’adresse suivante:

  • http://../www.stat.columbia.edu/~tzheng/files/Rcolor.pdf

On peut donc utiliser col = "darkturquoise" ou col = "darkorange" et sortir des sentiers battus!

Une façon plus avancée de choisir une palette de couleurs est d’utiliser la librairie RColorBrewer. Si cette option vous intéresse, il faut tout d’abord installer la librairie dans R.

Il faut ensuite la charger dans notre session de R lorsqu’on veut s’en servir.

On peut ensuite voir les choix de palette de couleurs et choisir le nom de la palette à utiliser

Utilisez help(RColorBrewer) pour en apprendre plus sur son utilisation.

Les histogrammes

Nous allons tester différentes modifications aux graphiques de base en utilisant le jeu de données Loblolly, qui est déjà pré-téléchargé dans la version de base de R. Celui-ci contient les données de taille (height, en pieds, une variable numérique) et d’âge (age, en années, une autre variable numérique) pour des pins (Pinus taeda) provenant de différents parents (Seed, une variable de type “facteur” où le chiffre représente la paire d’arbres parentaux).

On importe le jeu de données avec la fonction data().

On peut utiliser la fonction head() pour vérifier le contenu de notre jeu de données.

Nous allons créer un histogramme pour ensuite le modifier et illustrer les différentes options qui s’offrent à nous.

On peut modifier cet histogramme présentant la distribution de fréquence des tailles en améliorant les étiquettes des axes avec les paramètres xlab pour l’étiquette des abscisses et ylab pour l’étiquette des ordonnées.

Le titre de notre histogramme peut aussi être modifié avec le paramètre main.

On peut également ajouter un sous-titre avec le paramètre sub.

On peut ajouter la distribution de chacune des valeurs du jeu de données pour cette variable avec la fonction rug() invoquée après avoir déjà créé l’histogramme.

On peut finalement ajouter la valeur de la médiane à l’aide de la fonction abline(). On peut spécifier la valeur utilisée pour tracer la ligne verticale avec le paramètre v, la couleur de la ligne verticale avec col et sa largeur avec lwd.

Les graphiques en nuage de points

Comme nous l’avons vu précédemment, les graphiques en nuage de points peuvent servir à voir la relation entre deux variables. Commençons par voir s’il y a une relation entre la taille des arbres et leur âge.

C’est bien, mais pourrait-on modifier l’apparence du symbole des points? C’est possible en utilisant le paramètre pch. On peut avoir des symboles pleins ou vides, ou modifier la forme.

Il y a de nombreux symboles possibles, explorez!

Il est aussi possible de modifier la taille des symboles, avec le paramètre cex.

Ces arbres proviennent de différentes familles (la variable Loblolly$Seed qui est un facteur). Il est possible que leur famille d’origine affecte leur croissance. On pourrait utiliser les couleurs pour visualiser séparément les différentes familles. Pour y arriver, on spécifie que l’option de couleur col doit représenter la variable Loblolly$Seed.

Vous pouvez donc utiliser une variable en format facteur car elle permet de grouper les données pour déterminer la couleur à utiliser, comme par exemple selon la population d’origine, ou un groupe contrôle et un groupe traité, l’année de récolte des données, ou bien le sexe des individus.

Les graphiques à moustache

Il est possible de modifier la couleur des graphiques à moustache. Par exemple, on pourrait vouloir que celui-ci soit dessiné en turquoise, ce que l’on précise avec col = "nom de la couleur"

On pourrait aussi plutôt modifier la couleur du tracé

Voici un graphique aide-mémoire pour vous aider avec les différents paramètres de base pour modifier vos graphiques.

Droite de régression

Nous avons déjà utilisé la fonction abline pour tracer des lignes verticales. On peut également utiliser cette fonction pour tracer des droites de régression. Nous utiliserons les données iris pour démontrer comment ajouter une telle droite. Dans le graphique suivant, il semble y avoir une relation linéaire entre les variables Petal.Width et Petal.Length.

Pour ajouter une droite de régression, il faut d’abord faire un modèle linéaire à l’aide de la fonction lm (linear model en anglais). Lorsque le modèle est fait, on peut utiliser la fonction abline(modele) pour ajouter la droite de régression 1.

Ajout de courbes

Jusqu’à maintenant, nous avons seulement affiché une série de données dans nos graphiques. Il est souvent intéressant de pouvoir visualiser plusieurs courbes dans un seul graphique. Pour y arriver, il suffit d’utiliser la fonction lines() après l’appel de la fonction plot(). La fonction lines() fonctionne de la même manière que la fonction plot(), à la différence qu’elle doit être utilisée une fois le graphique principale créée.

Nous allons créer un jeu de données pour montrer comment utiliser la fonction lines().

Évidemment, il est nécessaire d’ajouter une légende pour identifier les deux courbes.

Modification des axes

Par défaut, R tentera de placer un nombre de marqueurs sur les axes de manière optimale. Cependant, nous pouvons contrôler comment ils apparaissent. La première étape est de dire à R de ne pas afficher les marqueurs sur l’axe des x avec le paramètre xaxt = "n". La seconde étape est d’utiliser la fonction axis() pour ajouter manuellement l’axe des x. Pour l’axe des x, il faut spécifier side = 1. Par la suite, on utilise le paramètre at = vv est un vecteur numérique indiquant la position des marqueurs. Dans le cas suivant, on place un marqueur à chaque valeur de l’âge entre 0 et 25.

Finalement, on peut facilement remplacer la valeur des étiquettes en utilisant le paramètre labels dans la fonction axis().

Mise en page de plusieurs graphiques

Dans certains cas, il est peut-être utile de combiner plusieurs graphiques dans un seul. Pour y arriver, il faut utiliser la fonction par() avant de faire les graphiques. C’est avec cette fonction qu’il faut définir comment les graphiques seront présentés. Il existe plusieurs paramètres que l’on peut modifier avec cette fonction, mais les plus fréquentes sont mfrow et mar. Le paramètre mfrow (un vecteur numérique de 2 éléments) permet de spécifier combien de ligne et de colonnes le graphique contiendra. Par exemple, mfrow = c(1, 2) indique un graphique avec 1 ligne et 2 colonnes. Le paramètre mar (un vecteur numérique de 4 éléments) permet de spécifier les marges à utiliser autours de chaque sous-graphiques. Par exemple, mar = c(1, 1, 1, 1) indique d’utiliser une valeur de 1 ligne sur chaque coté des graphiques.

Dans l’exemple suivant, on créer un graphique avec 4 sous-graphiques et on ajouter une légende pour identifier les panneaux A, B, C et D.

Notation mathématique

En utilisant la fonction bquote() il est possible d’ajouter des symboles mathématiques dans les graphiques. Cette fonction est relativement complexe, on vous invite à consulter l’aide pour bien la comprendre. Voici cependant quelques exemples.

Téléchargement

Le matériel pédagogique utilisé dans cette capsule est disponible pour le téléchargement sous deux formats différents:

  1. Format PDF standard que vous pouvez consulter et commenter avec Adobe Reader par exemple.
  2. Format HTML dynamique qui se comporte comme une page web et doit être lu avec votre navigateur préféré (Chrome, Firefox, Edge, Safari, etc.).

Pour télécharger le fichier localement sur votre ordinateur, tablette ou téléphone portable, il suffit de cliquer sur le lien désiré avec le bouton droit de votre souris et choisir “sauvegarder sous…”.

Télécharger la documentation sous format PDF


  1. Voir la capsule statistique portant sur les modèles linéaire.