Changer le symbole par défaut dans les graphiques

Lors d’un TD, avec les étudiants du cursus apprentissage nous avons été amené à manipuler les fonctions graphiques de base de R.

On a travaillé sur le jeu de données abricots.

abricots <- read.table(file = 'http://math.agrocampus-ouest.fr/infoglueDeliverLive/digitalAssets/113759_abricotsSG.txt',
                       sep = ' ', header = TRUE)

La variable Maturite désigne un stade de maturité et doit donc être traitée comme un facteur (une variable qualitative).

abricots$Mat_Fact <- as.factor(abricots$Maturite)

On peut représenter l’indice colorimétrique a en fonction du stade de maturité.

plot(a ~ Mat_Fact, data = abricots)

Puis on a été amené à représenter le taux de glucose (Glucose) en fonction de l’indice colorimétrique.

plot(Glucose  ~ a, data = abricots)

En ajoutant une couleur, on peut ajouter l’information sur le stade de maturité.

plot(Glucose  ~ a, col = Mat_Fact, data = abricots)

Il est possible de changer le symbole pour rendre les couleurs plusvisibles

plot(Glucose  ~ a, col = Mat_Fact, data = abricots, pch = 19)

Puis j’ai été amenée à discuter de l’argument pch de la fonction plot. On a testé différents symboles classique et la question est arrivée :

Peut on utiliser le coeur comme symbole ?

La réponse est oui : voici une solution qui fonctionne sous Linux et j’espère sur tous les systèmes (il existe une solution plus simple qui ne fonctionne que sous Windows)

plot(Glucose  ~ a, col = Mat_Fact, data = abricots, pch = -as.hexmode(9829))

On peut faire plus joli avec ggplot2

library(ggplot2)
ggplot(data = abricots) + 
   geom_point(aes(x= a, y = Glucose, col = Mat_Fact),
              shape = -as.hexmode(9829), size = 5)