2017-04-19 2 views
0

Je pense avoir découvert un bug. J'utilise levelplot dans rasterVis, quand je trace les rasters, ils apparaissent très bien dans la fenêtre raster, cependant quand j'essaie de les enregistrer en utilisant png() le raster a des lignes à travers.Sauvegarder le raster dans R en utilisant png() et levelplot donne des lignes étranges

library(raster) 
library(rasterVis) 
library(RColorBrewer) 
col<-rasterTheme(region=brewer.pal(8,"YlOrRd")) 
r<-raster(ncol=40,nrow=20) 
r[] <- rnorm(n=ncell(r)) 
b<-"Title" 

png(file=paste0(path,"\\",b,".png"), width=1800, height=1800, res=300) 
plot<-levelplot(r,main=b,par.settings=col, margin=FALSE, scales=list(draw=FALSE)) 
print(plot) 
dev.off() 

Dans la fenêtre de tracé, il apparaît comme il se doit: enter image description here

Mais enregistré à l'aide png(): enter image description here

+0

J'ai testé votre code d'obtenir un fichier PNG sans lignes blanches. –

Répondre

0

j'ai tout compris, le paramètre margins doit être sous forme de une liste. Résout les lignes dans les images.

plot<-levelplot(r,main=b,par.settings=col, margin=list(draw=FALSE,scales=list(draw=FALSE)))

+0

Non. Comme indiqué dans la page d'aide, 'marge' peut être une logique ou une liste. D'un autre côté, vous ne devez pas inclure 'scales 'dans la définition' margin'. –