Affichage de 20 graphiques avec marges optimisées

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

Clement Corentin
Messages : 44
Enregistré le : 09 Aoû 2011, 08:55

Affichage de 20 graphiques avec marges optimisées

Messagepar Clement Corentin » 13 Déc 2017, 15:08

Bonjour a tous,

Je souhaite représenter des graphiques (disons une vingtaine) au sein d'une même fenêtre graphique.
Chaque graphique est issue d'une base de donnée différente et pour faire cela j'utilise la boucle suivante ou "Mean" correspond a ma liste de "dataframe". Pour information je "plot" des moyennes ainsi que leurs écart type associés.

La boucle que j'utilise:

Code : Tout sélectionner

#Plot the results
par(mfrow=c(4,5))
#par(mar=c(0,0,0,0))

lapply(Mean, function(x)
{
  plot(x$mean,x$depth.cm_tr,type="b",main="",xaxt="n",xlab="",yaxt="n",ylab="Depth(cm)",xlim=c(-10,400))
  axis(3,cex.axis=1.5,labels="", at=45,line=3,tick=FALSE)
  axis(3,cex=0.8)
  axis(3,labels="",at=45,tick=FALSE,line=1.5)
  axis(2,las=TRUE)
  y=x$depth.cm_tr
  avg=x$mean
  sdev=x$sd
  arrows(avg-sdev,y,avg+sdev,y,length=0.03,angle=90,code=3)

})


Le résultat est correct (cf dessous) mais je n'arrive pas a faire en sorte que les marges soit plus réduites voire même que les graphiques soit disposées en tableau. En conclusion j'obtiens des graphiques trop petit ou je distingue mes valeurs uniquement en zoomant. Est-ce que quelqu'un a une idée pour rendre ma fenêtre graphique plus lisible?

Le graphique que j'obtiens:
Image

Aussi, je n'arrive pas a faire en sorte que le titre de chaque graphique corresponde au titre de chaque base de données dont le graphique est issue. Comment puis-je faire?

Merci d'avance pour votre aide.
Corentin.

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: Affichage de 20 graphiques avec marges optimisées

Messagepar Serge Rapenne » 13 Déc 2017, 15:37

Bonjour,

En ce qui concerne les graphiques standards de R, le document incontournable est https://pbil.univ-lyon1.fr/R/pdf/tdr75.pdf.

pour gérer les marges cf par("mar") page chapitre 2.4.15 pour afficher sur plusieurs lignes cf par("mfrow") chapitre 2.2.5

Serge

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: Affichage de 20 graphiques avec marges optimisées

Messagepar Logez Maxime » 14 Déc 2017, 09:40

Bonjour,

ce genre de graph peut très bien être réalisé avec la librairie ggplot2. Je ne sais pas comment tu as généré ta liste (à partir d'un split ?) mais si tu as un tableau avec une colonne pour les x, une colonne pour les y et une colonne qui donne le groupe (factor) alors tu peux essayer ceci :

Code : Tout sélectionner

library(ggplot2)
ggplot(tab, aes(x = x, y = y)) + geom_path() + geom_point() + facet_wrap(~ fac, nrow = 4, ncol = 5)
Après tu as tout un tas d'options pour personnaliser le graph.

Cordialement,
Maxime

Clement Corentin
Messages : 44
Enregistré le : 09 Aoû 2011, 08:55

Re: Affichage de 20 graphiques avec marges optimisées

Messagepar Clement Corentin » 14 Déc 2017, 12:31

Bonjour a tous,

Merci pour vos réponses, la fonction graphique du package ggplot2 répond parfaitement a ma question.

Encore merci,
Corentin.


Retourner vers « Questions en cours »

Qui est en ligne

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