Aller plus loin dans la mise en forme des graphiques

Colorer automatiquement les points par catégories - cf. la page Catégorisations


Changer les marges d'un graphique - cf. la page Gérer les graphiques 


Mettre en forme les axes (mise en forme de base)

tck < 0 (encoches vers l'extérieur)tck > 0 (encoches vers l'intérieur)tck = 1 (couvre le graphique d'une grille)

plot(x,y, tck=0.1) 


xaxp : axe des xyaxp : axe des y

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))


Les paramètres yaxs et xaxs font partir respectivement la valeur la plus basse en y et x directement de la gauche et du bas.

# 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) 


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 



las = 0 : les graduations de l'axe des y sont tournéeslas = 1 : graduations à l'endroit pour les 2 axeslas = 2 : les graduations de l'axe des x sont tournéeslas = 3 : les graduations de l'axe des x et y sont tournées

plot(x,y, las=1) 




font.lab=1 (normal)font.lab=2 (en gras)font.lab=3 (en italique)font.lab=4 (en gras et italique)cex.axis=1 (taille de la police, nombre >0, 1 pour la taille par défaut)font.axis=1 (définit le type de police 1, 2, 3...)

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) 


plot(x,y, axes=FALSE) 

Changement des encoches avec le paramètre tck
Changement du nombre de graduations avec le paramètre xaxp
La valeur en bas à gauche est centrée pile sur le croisement des deux axes (paramètre xaxs et yaxs)
Mise à l'horizontal des graduations de l'axe y avec le paramètre las
Changement du type de texte des axes (paramètre font.lab, cex.axis, font.axis...)

Paramétrer finement la mise en forme des axes 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




# 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)


#Ajoute manuellement un axe x avec les graduations 1, 2 et 3

axis(1, c(1,2,3)) 


# 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")) 



Permet de tracer l'axe au milieu du graphiquePermet de faire passer l'axe des abscisses par 0Permet de centrer les axes au lieu de les mettre sur les bords - graphique orthonormé avec R !

# 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 

cf. exemple 1 ci-dessus

La commande pretty a permis de ré-afficher l'axe x avec une graduation automatique tout en masquant y
Le paramètre labels a permis de remplacer les valeurs en x par des étiquettes indiquant le nom des jours

Ajouter une cassure dans l'axe des y (discontinuité de l'axe)

# 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)