Aller plus loin dans la mise en forme des graphiques
Tracer un graphique de type y = f(x) (fonction plot) et le mettre en forme
Aller plus loin dans la mise en forme des graphiques
Superposer d'autres informations (polygones, légende, ellipses...)
Autres types de graphiques (logarithmiques, 3D, données calendaires...)
Mettre en forme les axes (mise en forme de base)
Changer les encoches qui graduent l'axe (de -1 à 1) :
plot(x,y, tck=0.1)
Forcer les graduations affichées sur un axe
plot(x,y,xaxp=c(min,max,nombre_de_pas))
# min : valeur la plus basse de l'axe des x
# max : valeur la plus haute de l'axe des x
# nombre_de_pas : nombre d'intervalles entre min et max
_ _ _ _ _ _ _ _
# exemple sur l'axe des x
x = c(1999,2015) ; y = c(100,125)
plot(x, y,xaxp = c(1999,2015,16)) # permet d'avoir une graduation par année
_ _ _ _ _ _ _ _
# exemple sur l'axe des y
x = c(1,2,3,4,5) ; y = c(2,4,5,6,7)
plot(x, y, ylim=c(0,20),yaxp = c(0,20,10))
S'assurer que la limite minimale (en bas à gauche) se confond avec l'axe des ordonnées ou des abscisses
# plot(x,y,yaxs="i",xaxs = "i")
# exemple
plot(c(1,2,3),c(1,3,4),yaxs="i",xaxs="i",pch=16,col="red",cex=3)
Masquer les graduations des axes
plot(x,y, xaxt="n") # masque les graduations de l'axe des x
plot(x,y, yaxt="n") # masque les graduations de l'axe des y
Orienter les valeurs des graduations :
plot(x,y, las=1)
Changer le type de texte des axes (taille, gras ou italique)
x = c(1,2,3) ; y = c(1,2,3)
plot(x,y,font.lab=4)
plot(x,y,font.lab=2, font.axis=4, cex.axis=2)
Afficher les axes (TRUE) ou les Masquer (FALSE).
Ne pas afficher les axes lors du tracer d'un graphique permet de les ajouter ultérieurement avec la fonction axis (ci-dessous) qui présente plus de possibilité en termes de paramétrage des axes
plot(x,y, axes=FALSE)
Paramétrer finement la mise en forme des axes avec la commande axis
La fonction axis permet d'ajouter les axes s'ils ont été masqué lors du tracé du graphique : axis permet ainsi d'ajuster finement les paramètres graphiques des axes
Un grand nombre de paramètres sont tolérés par axis (lwd, lty,xlim... )
Afficher ou masquer les quatre axes de son choix avec la commande axis
# Exemple
plot(c(1,2,3),c(2,3,4), axes=FALSE)
axis(1) # Ajoute l'axe des x en bas
axis(2) # Ajoute l'axe des y à gauche
axis(3) # Ajoute l'axe des x en haut
axis(4) # Ajoute l'axe des y à droite
Définir automatiquement les intervalles de graduations avec la commande pretty
# Exemple - je veux définir l'intervalle de graduation le plus adapté à mes valeurs de x
x = c(1.5,2.3, 9.6) ; y = c(2,3,4)
plot(x,y, axes=FALSE, xlim=c(0,10)) ; box()
axis(1, pretty(x,10)) # Ajoute l'axe des x en bas
# La commande pretty analyse x et détermine automatiquement des un nombre d'intervalles approprié pour approcher le nombre d'intervalles demandé ici(environ 10)
Ajouter des graduations à l'axe des x (1) ou à l'axe des y (2)
#Ajoute manuellement un axe x avec les graduations 1, 2 et 3
axis(1, c(1,2,3))
Remplacer les étiquettes des graduations de l'axe afin de leur donner un nom qui n'a rien à voir avec la valeur (par exemple le jour de la semaine...)
at : indique la position des gradutions concernée
labels : indique les noms à donner à ces graduations
# Tracer le graphique sans afficher les graduations x
plot(c(1:7),c(2:8),xaxt="n",type="o")
# Remplacer les graduations 1 à 7 en x par les noms de la semaine.
axis(1,at=c(1:7), labels=c("Lun","Mar","Mer","Jeu","Ven","Sam","Dim"))
Positionner l'axe
# Exemple 1
plot(c(-3,2,1,3), c(-3,1,4,3), axes = FALSE, panel.first = grid())
axis(1, pos = 0, cex.axis = 0.8) # Positionne l'axe des abscisses par rapport à un point d'ordonnées 1
axis(2, pos = 0, cex.axis = 0.8, las = 2) # Positionne l'axe des ordonnées par rapport à un point d'abscisse 0
# Exemple 2
x = c(1:100)/30*pi ; y = cos(x)
plot(x, y, axes=FALSE,panel.first = grid(),type="o",col="red")
axis(1, pos = 0, cex.axis = 0.8) # Abscisses
axis(2, c(-1,1), pos = 5, cex.axis = 0.8, las = 2) # Ordonnées
Ajouter une cassure dans l'axe des y (discontinuité de l'axe)
Ajouter une cassure dans l'axe des ordonnées (ou dans l'axe des abscisse) - ajouter une discontinuité, une rupture.
Pour ajouter une telle cassure dans l'axe, il faut faire appel au package plotrix.
# exemple 1 - rupture indiquant que l'axe y ne part pas de 0
x = c(1,2,3) ; y = c(80, 90, 92)
# Etape 1 - Tracer le graphique
plot(x,y,ylim=c(70,100),yaxp =c(80,100,4))
# yaxp : force les graduations à ne partir que de 80 alors que l'axe part réellement de la valeur 70
# Etape 2 : forcer l'axe à présenter la valeur 0
axis(side=2, # axe Y
at=c(70), # La valeur 70 est remplacée par
labels=c("0") # 0 qui remplace 70
)
# Etape 3 : introduire la cassure
install.packages("plotrix") # package nécessaire à installer
library(plotrix)
axis.break(axis=2,breakpos=75,style="slash")
Jouer sur la couleur pour créer des gradients, incorporer de la transparence... (Voir la page Gérer les graphiques)
Tracer un graphique de type y = f(x) (fonction plot) et le mettre en forme
Aller plus loin dans la mise en forme des graphiques
Superposer d'autres informations (polygones, légende, ellipses...)
Autres types de graphiques (logarithmiques, 3D, données calendaires...)