Accéder au contenu principal
Documents
Partager
LinkedIn
Facebook
Twitter
Copy
R DocumentationEntrée de données en RGestion des données en RGraphiques en RR InterfaceStatistiques en R

Axes et étiquettes dans R

De nombreuses fonctions de traçage de haut niveau (plot, hist, boxplot, etc.) vous permettent d'inclure des options d'axe et de texte (ainsi que d'autres paramètres graphiques). Par exemple :

 # Specify axis options within plot()
plot(x, y, main="title", sub="subtitle",
  xlab="X-axis label", ylab="y-axix label",
  xlim=c(xmin, xmax), ylim=c(ymin, ymax))

Pour un contrôle plus fin ou pour la modularisation, vous pouvez utiliser les fonctions décrites ci-dessous.

Titres

Utilisez la fonction title( ) pour ajouter des étiquettes à un graphique.

title(main="main title", sub="sub-title",
 xlab="x-axis label", ylab="y-axis label")

De nombreux autres paramètres graphiques (tels que la taille du texte, la police, la rotation et la couleur) peuvent également être spécifiés dans la fonction title( ).

# Add a red title and a blue subtitle. Make x and y
# labels 25% smaller than the default and green.
title(main="My Title", col.main="red",
  sub="My Sub-title", col.sub="blue",
  xlab="My X label", ylab="My Y label",
  col.lab="green", cex.lab=0.75)

Annotations de texte

Du texte peut être ajouté aux graphiques à l'aide des fonctions text( ) et mtext( ). text( ) place le texte à l'intérieur du graphique tandis que mtext( ) place le texte dans l'une des quatre marges.

text(location, "text to place", pos, ...)
mtext("text to place", side, line=n, ...)

Les options les plus courantes sont décrites ci-dessous.

option description
location peut être une coordonnée x,y. Le texte peut également être placé de manière interactive à l'aide de la souris en spécifiant location comme locator(1).
pos la position par rapport à l'emplacement. 1=en bas, 2=à gauche, 3=en haut, 4=à droite. Si vous spécifiez pos , vous pouvez spécifier offset= en pourcentage de la largeur du caractère.
côté la marge dans laquelle placer le texte. 1=bas, 2=gauche, 3=haut, 4=droite. vous pouvez spécifier line= pour indiquer la ligne dans la marge en commençant par 0 et en allant vers l'extérieur. vous pouvez également spécifier adj=0 pour l'alignement gauche/bas ou adj=1 pour l'alignement haut/droit.

Les autres options courantes sont cex, col, et font (respectivement pour la taille, la couleur et le style de police).

Points d'étiquetage

Vous pouvez utiliser la fonction text( ) (voir ci-dessus) pour étiqueter les points ainsi que pour ajouter d'autres annotations textuelles. Spécifiez l'emplacement sous la forme d'un ensemble de coordonnées x, y et spécifiez le texte à placer sous la forme d'un vecteur d'étiquettes. Les vecteurs x, y et étiquette doivent tous avoir la même longueur.

# Example of labeling points
attach(mtcars)
plot(wt, mpg, main="Milage vs. Car Weight",
  xlab="Weight", ylab="Mileage", pch=18, col="blue")
text(wt, mpg, row.names(mtcars), cex=0.6, pos=4, col="red")

Points 2/public

Annotations mathématiques

Vous pouvez ajouter des formules mathématiques à un graphique en utilisant des règles de type TEX. Voir help(plotmath) pour plus de détails et d'exemples.

Axes

Vous pouvez créer des axes personnalisés à l'aide de la fonction axis( ).

axis(side, at=, labels=, pos=, lty=, col=, las=, tck=, ...)

option description
côté un nombre entier indiquant le côté du graphique sur lequel l'axe doit être dessiné (1=bas, 2=gauche, 3=haut, 4=droite)
at un vecteur numérique indiquant l'endroit où les marques de tic doivent être dessinées
étiquettes un vecteur de caractères pour les étiquettes à placer sur les points de repère (si NULL, les valeurs at seront utilisées)
pos la coordonnée à laquelle la ligne d'axe doit être tracée. (c'est-à-dire la valeur sur l'autre axe à l'endroit où il se croise)
lty type de ligne
col la couleur de la ligne et de la marque de coche
las les étiquettes sont parallèles (=0) ou perpendiculaires (=2) à l'axe
tck longueur de la marque en fraction de la région de traçage (le nombre négatif est à l'extérieur du graphique, le nombre positif est à l'intérieur, 0 supprime les marques, 1 crée des lignes de quadrillage) ; la valeur par défaut est -0.01
(...) autres paramètres graphiques

Si vous allez créer un axe personnalisé, vous devez supprimer l'axe généré automatiquement par votre fonction de traçage de haut niveau. L'option axes=FALSE supprime les axes x et y. xaxt="n" et yaxt="n" suppriment respectivement les axes x et y. Voici un exemple (quelque peu exagéré).

# A Silly Axis Example

# specify the data
x <- c(1:10); y <- x; z <- 10/x

# create extra margin room on the right for an axis
par(mar=c(5, 4, 4, 8) + 0.1)

# plot x vs. y
plot(x, y,type="b", pch=21, col="red",
  yaxt="n", lty=3, xlab="", ylab="")

# add x vs. 1/x
lines(x, z, type="b", pch=22, col="blue", lty=2)

# draw an axis on the left
axis(2, at=x,labels=x, col.axis="red", las=2)

# draw an axis on the right, with smaller text and ticks
axis(4, at=z,labels=round(z,digits=2),
  col.axis="blue", las=2, cex.axis=0.7, tck=-.01)

# add a title for the right axis
mtext("y=1/x", side=4, line=3, cex.lab=1,las=2, col="blue")

# add a main title and bottom and left axis labels
title("An Example of Creative Axes", xlab="X values",
  ylab="Y=X")

Axe 689x689/public

Marques mineures de coche

La fonction minor.tick( ) du paquet Hmisc ajoute des points de repère mineurs.

# Add minor tick marks
library(Hmisc)
minor.tick(nx=n, ny=n, tick.ratio=n)

nx est le nombre de marques mineures à placer entre les marques majeures de l'axe des x. ny fait de même pour l'axe des y. tick.ratio est la taille de la marque mineure par rapport à la marque majeure. La longueur de la marque de tic-tac principale est extraite de par("tck").

Lignes de référence

Ajoutez des lignes de référence à un graphique à l'aide de la fonction abline( ).

abline(h=yvalues, v=xvalues)

D'autres paramètres graphiques (tels que le type de ligne, la couleur et la largeur) peuvent également être spécifiés dans la fonction abline( ).

# add solid horizontal lines at y=1,5,7
abline(h=c(1,5,7))
# add dashed blue verical lines at x = 1,3,5,7,9
abline(v=seq(1,10,2),lty=2,col="blue")

Note : Vous pouvez également utiliser la fonction grid( ) pour ajouter des lignes de référence.

Légende

Ajoutez une légende à l'aide de la fonction legend().

legend(location, title, legend, ...)Common options are described below.
option description
location Il existe plusieurs façons d'indiquer l'emplacement de la légende. Vous pouvez indiquer une coordonnée x,y pour le coin supérieur gauche de la légende. Vous pouvez utiliser locator(1), auquel cas vous utilisez la souris pour indiquer l'emplacement de la légende. Vous pouvez également utiliser les mots-clés "bottom", "bottomleft", "left", "topleft", "top", "topright", "right", "right", "bottomright" ou "center". Si vous utilisez un mot-clé, vous pouvez utiliser inset= pour spécifier le déplacement de la légende dans le graphique (en tant que fraction de la zone de tracé).
title Chaîne de caractères pour le titre de la légende (facultatif)
légende Un vecteur de caractères avec les étiquettes
... Autres options. Si la légende comporte des lignes colorées, spécifiez col= et un vecteur de couleurs. Si la légende comporte des symboles ponctuels, spécifiez pch= et un vecteur de symboles ponctuels. Si la légende indique la largeur ou le style des lignes, utilisez lwd= ou lty= et un vecteur de largeurs ou de styles. Pour créer des cases colorées pour la légende (ce qui est courant dans les diagrammes à barres, les diagrammes en boîte ou les diagrammes circulaires), utilisez fill= et un vecteur de couleurs.

Parmi les autres options de légende courantes, citons bty pour le type de boîte, bg pour la couleur d'arrière-plan, cex pour la taille et text.col pour la couleur du texte. Le paramètre horiz=TRUE permet de définir la légende horizontalement plutôt que verticalement.

# Legend Example
attach(mtcars)
boxplot(mpg~cyl, main="Milage by Car Weight",
  yaxt="n", xlab="Milage", horizontal=TRUE,
  col=terrain.colors(3))
legend("topright", inset=.05, title="Number of Cylinders",
  c("4","6","8"), fill=terrain.colors(3), horiz=TRUE)

Légende 689x689/public

Pour plus d'informations sur les légendes, voir help(legend). Les exemples de l'aide sont particulièrement instructifs.

Pratiquer

Essayez gratuitement le premier chapitre de ce cours en ligne sur la visualisation de données en R.

Ce contenu est extrait de statmethods.net.