Graphiques linéaires en R
Vue d'ensemble
Les graphiques linéaires sont créés à l'aide de la fonction lines(x , y, type=) où x et y sont des vecteurs numériques de points (x,y) à relier. type= peut prendre les valeurs suivantes :
type | description |
p | points |
l | lignes |
o | points et lignes superposés |
b, c | points (vides si "c") reliés par des lignes |
s, S | marches d'escalier |
h | lignes verticales en forme d'histogramme |
n | ne produit aucun point ou ligne |
La fonction lines( ) ajoute des informations à un graphique. Il ne peut pas produire un graphique seul. Elle suit généralement la commande plot(x , y) qui produit un graphique.
Par défaut, plot( ) trace les points (x,y). Utilisez l'option type="n" de la commande plot( ) pour créer le graphique avec les axes, les titres, etc., mais sans tracer les points.
Exemple
Dans le code suivant, chacune des options type= est appliquée au même ensemble de données. La commande plot( ) établit le graphique, mais ne trace pas les points.
x <- c(1:5); y <- x # create some data
par(pch=22, col="red") # plotting symbol and color
par(mfrow=c(2,4)) # all plots on one page
opts = c("p","l","o","b","c","s","S","h")
for(i in 1:length(opts)){
heading = paste("type=",opts[i])
plot(x, y, type="n", main=heading)
lines(x, y, type=opts[i])
}
Ensuite, nous démontrons chacune des options type= lorsque plot( ) configure le graphique et _ fait _ tracer les points.
x <- c(1:5); y <- x # create some data
par(pch=22, col="blue") # plotting symbol and color
par(mfrow=c(2,4)) # all plots on one page
opts = c("p","l","o","b","c","s","S","h")
for(i in 1:length(opts){
heading = paste("type=",opts[i])
plot(x, y, main=heading)
lines(x, y, type=opts[i])
}
Comme vous pouvez le constater, l'option type="c" n'est différente de l'option type="b" que si le tracé des points est supprimé dans la commande plot( ).
Pour illustrer la création d'un graphique linéaire plus complexe, représentons la croissance de 5 orangers au fil du temps. Chaque arbre aura sa propre ligne distinctive. Les données proviennent de l'ensemble de données Orange.
# Create Line Chart
# convert factor to numeric for convenience
Orange$Tree <- as.numeric(Orange$Tree)
ntrees <- max(Orange$Tree)
# get the range for the x and y axis
xrange <- range(Orange$age)
yrange <- range(Orange$circumference)
# set up the plot
plot(xrange, yrange, type="n", xlab="Age (days)",
ylab="Circumference (mm)" )
colors <- rainbow(ntrees)
linetype <- c(1:ntrees)
plotchar <- seq(18,18+ntrees,1)
# add lines
for (i in 1:ntrees) {
tree <- subset(Orange, Tree==i)
lines(tree$age, tree$circumference, type="b", lwd=1.5,
lty=linetype[i], col=colors[i], pch=plotchar[i])
}
# add a title and subtitle
title("Tree Growth", "example of line plot")
# add a legend
legend(xrange[1], yrange[2], 1:ntrees, cex=0.8, col=colors,
pch=plotchar, lty=linetype, title="Tree")
Aller plus loin
Essayez les exercices de ce cours sur le traçage et la visualisation de données en R.