Ce document introduit les bases des fonctions plot() (résumé succinct) et xyplot() (bibliothèque lattice).
plot(mortinf ~ urb, data=pays1)
plot(urb, mortinf)
La fonction de base pour produire des nuages de points (scatterplots) est
plot() qui utilise soit une formule, soit simplement
deux arguments plot(x,y). [Notez que les deux formes
de la commande produisent le même graphique; l'urbanisation est la variable
en x dans les deux cas.]
La fonction plot() produit des graphiques par défaut différentes en fonction du type de données, ainsi si par exemple nous traitons des données de séries chronologiques un trait liera automatiquement les points; par exemple:
data(sunspots) plot(sunspots)
La première fonction rend la variable sunspots disponible (c'est un exemple de données interne à R).
plot(mortinf ~ urb, data=pays1, xlab="Taux d'urbanisation",ylab="Mortalité infantile", main="Données sur les pays du monde")
Cet example montre quelques arguments qui permettent de rajouter des titres et des légendes. Notez qu'il existe aussi la possibilité de rajout de titres, légendes etc une fois le graphique affiché; ainsi title(main="Exemple de la fonction plot") ajouterait un titre au graphique affiché.
D'autres fonctions permettent de modifier la façon d'afficher les points (changement de marqueurss) ou encore des fonctions qui premettent de rajouter par exemple des droites de régression ou des courbes lisses.
D'abord quelques fonctions qui modifient le type de marqueur; notez que selon la fonction choisie, il est préférable de produire le graphique de base sans marqueurs du tout, ce que vous obtenez en spécifiant le type "no": plot(x,y,type="no"), car toutes les fonctions qui modifient un graphique affiché ne font que rajouter des éléments, par conséquent il faut faire attention d'obtenir des nuages qui restent lisibles.
Voici les fonctions les plus importantes: (notez que toutes les fonctions ont besoin des coordonnées que que spécifiez soit comme formule, soit comme couple x,y:
plot(urb, mortinf) text(urb, mortinf, labels=rownames(pays))crée un nuage où les noms des pays apparaissent comme marqueurs pour chaque point.
Notez que toutes les fonctions graphiques partagent des arguments graphiques communs, ce qui veut dire que vous pouvez utilisez des arguments graphiques dans l'appel à une fonction, comme vous pouvez les définir à l'aide de la fonction par() (paramètres graphiques).
Dans l'exemple suivant qui produit un graphique qui utilise des couleurs différentes pour chaque continent, on trouve deux arguments graphiques (documentation seulement avec par())
plot(urb,mortinf,pch=21, bg = c("red","green","blue","brown","yellow","black") [continent])
Notez que vous pourriez sans autre utiliser les mêmes arguments pour la fonction points() ou d'autres fonctions graphiques, mais il est important de comprendre que l'interprétation de ces paramètres dépenderont de la nature de la fonction graphique que vous utilisez ... et R ne va pas forcément vous avertir qu'il n'a pas utilisé un argument ou seulement partiellement; il faut aussi chaque fois comprende à quel élément du graphique vous appliquez une modification. Dans l'exemple d'un nuage il faut savoir que "background color" concerne les marqueurs, tandis que "foreground colour" s'applique aux axes et légendes...
Notez aussi que si vous pensez utiliser fréquemment des graphiques où vous colorez les contients qu'il est plus commode de déposer cette spécification dans une variable..:
coul <- c("red","green","blue","brown","yellow","black") [continent] pour ensuite écrire plot(x,y,pck=22,bg=coul)La bibliothèque "lattice" fournit une fonction plus évolué qui produit également des nuages conditionnels. [coplots]
D'abord xyplot(urb ~ mortinf, data=pays1) produira le même graphique que la fonction plot() à quelques détails esthétiques près.
xyplot(urb ~ mortinf | continents, data=pays1) par contre produira un graphique séparé par continent.