> langage et graphiques > Graphiques > Rajout des éléments
Rajout des éléments
Rajout après coup d'un titre : title("mon titre", cex.main = 0.8).
Rajout des axes après coup (si on a utilisé xaxt = "n" par exemple) :
axis(1, at = seq(10), labels = paste(paste("A", seq(10), sep = "")), tick = TRUE, col = "red", lwd = 2, lty = "dotted", las = 3, cex.axis = 0.8) :
- 1 : indique que c'est en bas du graphe (axe des x), 2 signifie à gauche (axe des ordonnées), 3 au-dessus et 4 à droite.
- at = seq(10) : positions des graduations.
- labels = paste(paste("A", seq(10), sep = "")) : noms des graduations (défaut si non précisé sont les valeurs)
- tick = TRUE : indique ou non de tracer les ticks (défaut = TRUE).
- col = "red" : couleur des graduations et de l'axe.
- lwd = 2 : épaisseur des traits (axe et graduations).
- lty = "dotted" : type de trait (axe et graduations).
- las = 3 : noms de graduations verticales (cf paramètres des graphes).
- cex.axis = 0.8 : facteur de grandissement des noms des graduations.
Rajout de la légende :
legend("topright", legend = c("A", "B"), col = c("red", "blue"), pch = 15, bty = "n", pt.cex = 2, cex = 0.8, text.col = "forestgreen", horiz = TRUE, inset = c(0.1, 0.1))
- "topright" : met la légende en haut à gauche (autres valeurs permises : "bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right", "center").
- legend = c("A", "B") : indique les noms à faire figurer sur la légende (autant que de catégories).
- col = c("red", "blue") : les couleurs des symboles de la légende.
- pch = 15 : les symboles à utiliser (principe de recyclage comme d'habitude : ici, équivalent à pch = c(15, 15)).
- bty = "n" : défaut est "o" avec une boîte d'encadrement, "n" sans boîte.
- pt.cex = 2 : grandissement des symboles.
- cex = 0.8 : grandissement du texte de la légende.
- text.col = "forestgreen" : couleur du texte de la légende.
- horiz = TRUE : légende en ligne (défaut en colonne).
- inset = c(0.1, 0.1) : pourcentage (de 0 à 1) selon lequel la légende est éloignée des marges selon l'axe des X et l'axe des Y.
- legend(..., ncol = 2) : légende sur 2 colonnes (ncol = (nbr + 5 - 1)) %/% 5 : nombre de colonnes pour en avoir toujours 5 par ligne).
- On peut aussi préciser les coordonnées absolues de la position gauche de la légende : legend(3, 5, legend = c("A", "B")).
Rajout d'une grille :
- grid(col = "red", lty = "dotted", lwd = 1) : rajoute une grille avec lignes en rouge pointillé d'épaisseur 1, à partir des ticks existants.
- grid(nx = 10, ny = NA, col = "red", lty = "dotted") : rajoute 20 lignes verticales perpendiculaires à l'axe des x), et aucune verticale (perpendiculaires à l'axe des y).
Traçage de rectangles dans la zone du graphe :
-
rect(seq(3, 4, 0.2), seq(1, 2, 0.2), seq(6, 5, -0.2), seq(2, 3, 0.2),
col = c("pink", "lightblue"), border = "red",
lty = c("solid", "dotted"), lwd = 2)
Rajout d'un boîte après coup sur un graphe :
- box(col = "blue", lty = "dotted", lwd = 5) : rajoute une boîte en pointillés bleus autour du graphe.
Rajout après coup de droites :
- abline(h = 3, col = "blue", lty = "dotted") : trace une droite horizontale bleue en pointillés à l'ordonnée 3.
- abline(v = 2, col = "red") : trace une droite verticale rouge à l'abscisse 2.
- abline(a = 1, b = 2, col = "green"): trace une droite d'ordonnée à l'origine 1 et de pente 2.
Rajout de la régression linéaire sur un nuage de points :
abline(lm(y ~ x), col = "red")
Rajout après coup de texte :
- text(vectX, vectY, vectLabels) : rajoute au graphe aux positions x et y données par vectX et vectY (vecteurs de même taille) des étiquettes données par vectLabels (vecteur de type character de même taille).
- text(vectX, vectY, vectLabels, pos = 1, col = "red", cex = 0.6, srt = 90) :
- pos = 1 : étiquette en dessous-du point (2 pour à gauche, 3 pour au-dessus, 4 pour à droite).
- col = "red" : étiquette en rouge.
- cex = 0.6 : taille de police multipliée par un facteur 0.6
- srt = 90 : étiquette tournée de 90 degrés.
- text(vectX, vectY, vectLabels, adj = c(-0.5, 2)) : adj permet d'ajuster finement la position du texte par rapport au point comme alternative exclusive à pos :
- augmenter la première valeur pour aller vers la gauche.
- augmenter la deuxième valeur pour aller vers le bas.
- Pour imprimer des étiquettes (ou des valeurs) au-dessus des barres d'un barplot (verticalement) : bar <- barplot(vect); text(bar, vect * 1.1, labels, srt = 90)
- rajout de texte avec formule : text (5, 5, expression(paste(frac(1, sqrt(2 * pi * sigma^2))," ", e^{frac(-(x - mu)^2, 2 * sigma^2)})),cex=1.0)
Rajout de points :
- points(seq(5), seq(5) / 2, pch = 21, col = "red", lwd = 2, cex = 0.8) : rajoute des points sur le graphe existant, avec les paramètres indiqués (voir les différents paramètres dans la section correspondante.
- le premier vecteur donne les abcisses et le deuxième les ordonnées.
Rajout de segments :
- ordre des coordonnées : segments(xDepart, yDepart, xArrivee, yArrivee)
- segments(seq(5), seq(5) / 2, seq(5) / 2, seq(5) * 2, col = "red", lty = "dotted", lwd = 2) : rajoute des segments sur le graphe existant, avec les paramètres indiqués.
- les deux premiers vecteurs indiquent les coordonnées x et y des points de départ et les deux suivants indiquent les coordonnées x et y des points d'arrivée.
Rajout de flèches :
- arrows(seq(5), seq(5) / 2, seq(5) / 2, seq(5) * 2, col = "red", lty = "solid", lwd = 2, length = 0.2, angle = 45, code = 3) : trace des flèches sur le graphe existant, avec les paramètres indiqués.
- Paramètres spécifiques pour les flèches :
- code : indique vers où vont les flèches : 2 pour aller du point de départ vers le point d'arrivée (défaut), 1 pour le sens inverse, et 3 pour avoir des flèches aux 2 bouts du segment.
- col, lty, lwd : paramètres habituels (voir section ad hoc).
- length : longueur de la tête de flèche en pouces.
- angle : angle de la tête de flèche en degrés par rapport au segment.
Rajout de polygones après coup :
- lines(c(1, 2, 4), c(4, 6, 8), col = "red") : rajoute un polygone dont les sommets sont les points de coordonnées (1, 4), (2, 6) et (4, 8).
- on peut modifier le tracé avec le type "both" (lignes et symbole) et d'épaisseur 2 : lines(c(1, 2), c(4, 6), type = "b", lwd = 2) (cf plot).
Copyright Aymeric Duclert
programmer en R, tutoriel R, graphes en R