position des axes avec boxplot

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Richer de Forges
Messages : 9
Enregistré le : 04 Sep 2006, 09:49

position des axes avec boxplot

Messagepar Richer de Forges » 08 Déc 2010, 07:52

Bonjour,

Je fais des boxplot d'une variable (scp) en fonction d'une autre (profondeur) :
boxplot(data2$scp ~ data2$profondeur, xlab="profondeur", ylab="scp")

Mais je voudrais inverser le graph obtenu avec :
- l'actuel axe des x = axe des y à gauche mais dirigé vers le bas
- l'actuel axe des y = axe des x mais en haut du grahique

Comment puis-je faire ?

Merci d'avance

Vincent Guillemot
Messages : 451
Enregistré le : 05 Mai 2010, 15:11

Messagepar Vincent Guillemot » 08 Déc 2010, 10:33

Quelque chose comme ca ?

Code : Tout sélectionner

data(iris)
boxplot(Sepal.Length~Species,data=iris,horizontal=TRUE,xaxt="n")
axis(3)

Richer de Forges
Messages : 9
Enregistré le : 04 Sep 2006, 09:49

Messagepar Richer de Forges » 08 Déc 2010, 10:43

Merci

C'est tout à fait ça que je cherchais à faire.

J'ai juste le xlab qui reste sur l'axe 1 au lieu d'aller sur l'axe 3. Comment puis-je choisir sa position ?

Merci encore. :D

Vincent Guillemot
Messages : 451
Enregistré le : 05 Mai 2010, 15:11

Messagepar Vincent Guillemot » 08 Déc 2010, 10:51

Je ferais comme ca

Code : Tout sélectionner

data(iris)
boxplot(Sepal.Length~Species,data=iris,horizontal=TRUE,xaxt="n")
axis(3)
mtext("Sepal length",side=3,line=3)

mais du coup la marge du haut de la figure n'est plus très belle... Il faudrait la modifier avec la fonction par. Il y a peut être une solution plus courte...

Cdlt,
Vincent.

Richer de Forges
Messages : 9
Enregistré le : 04 Sep 2006, 09:49

Messagepar Richer de Forges » 08 Déc 2010, 12:49

Merci

Avec votre aide, j'ai réussi à faire mes graphiques.

Merci encore

Vincent Guillemot
Messages : 451
Enregistré le : 05 Mai 2010, 15:11

Messagepar Vincent Guillemot » 08 Déc 2010, 13:07

Mais de rien :D
Pour avoir de jolies marges et un titre en plus, j'en suis arrivé à ce code :

Code : Tout sélectionner

par(mar=c(4, 4, 6, 2) + 0.1)
data(iris)
boxplot(Sepal.Length~Species,data=iris,horizontal=TRUE,xaxt="n",ylab="Species")
axis(3) ; mtext("Sepal length",side=3,line=2.3)
title(main="Iris dataset",line=4)

Je crois qu'on peut clore le sujet, du coup, même si j'aimerais savoir si on peut pas faire la même chose de façon plus synthétique !
Cdlt,
Vincent.

Richer de Forges
Messages : 9
Enregistré le : 04 Sep 2006, 09:49

Messagepar Richer de Forges » 08 Déc 2010, 13:09

Je pense qu'on peut effectivement faire la même chose avec la fonction bwplot de lattice (ce qui permet de faire tous les graphiques d'un coup). Mais j'ai préféré suivre votre méthode car cela me semblait plus simple.

Merci encore


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

cron