plotter les éléments d'une liste

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

Elise Lacoste
Messages : 33
Enregistré le : 02 Juin 2009, 15:49

plotter les éléments d'une liste

Messagepar Elise Lacoste » 21 Nov 2018, 11:57

Bonjour,

Je n'arrive pas à réaliser un pdf avec différentes pages correspondant à différents éléments d'une liste (rasterLayer).
Ci-dessous ma solution pour le moment, avec une page pdf et tous les graphiques sur la même page.
Lorsque j'essaie de plotter "ldf" directement dans ma boucle, les couches se superposent au fur et à mesure et je n'obtient qu'une page...
Merci pour votre aide.

Code : Tout sélectionner

files <- list.files("C:/monchemin/layers/", pattern="asc")
  ldf=list()
  for (i in files) {
    ldf[[i]] <- raster(paste("data/layers/",i,sep=""))
    env = stack(ldf)
  }
  plot(env)
 

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: plotter les éléments d'une liste

Messagepar Pierre-Yves Berrard » 21 Nov 2018, 14:07

Bonjour,

Ne faudrait-il pas inclure l'instruction plot() dans la boucle ?
PY

Elise Lacoste
Messages : 33
Enregistré le : 02 Juin 2009, 15:49

Re: plotter les éléments d'une liste

Messagepar Elise Lacoste » 22 Nov 2018, 11:19

Bonjour,
Lorsque je fais cela, je pense que les plots s'écrasent successivement et je n'obtient qu'un graphique (la dernière couche).
Voici le code que j'ai essayé:

Code : Tout sélectionner

for (i in files) {
    ldf[[i]] <- raster(paste("layers/",i,sep=""))
    env = stack(ldf)
    pdf("test.pdf")
    plot(ldf[[i]])
    dev.off()
  }


Je cherche donc à créer une page par couche...
Merci

Elise Lacoste
Messages : 33
Enregistré le : 02 Juin 2009, 15:49

Re: plotter les éléments d'une liste

Messagepar Elise Lacoste » 22 Nov 2018, 11:24

La solution n'était pas bien loin, j'ai inclu une nouvelle boucle dans la boucel pour toutes mes couches...
Merci pour votre aide!

Code : Tout sélectionner

 for (i in files) {
    ldf[[i]] <- raster(paste("layers/",i,sep=""))
    env = stack(ldf)
    pdf("test.pdf")
    for(i in 1:11) {
    plot(ldf[[i]])
    }
    dev.off()
  }
 


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité

cron