2017-06-06 57 views
0

我已經使用gplotrasterVis(gplot的包裝)製作了RasterLayer的圖。爲了以全分辨率顯示光柵輸出,我必須設置gplot參數maxpixels = 10000000。 儘管R中的光柵分辨率看起來不錯,但當我嘗試將其寫入文件時,圖像會再次下采樣到標準分辨率。以下代碼我使用:無法將gplot保存到R中顯示的文件

png(paste0(pathAndFilename, ".png")) 

gplot(myRaster, maxpixels = 10000000) + 
    geom_raster(aes(fill = factor(value))) + 
    scale_fill_manual(values=c(someColors), legendSpecs) + 
    coord_equal() + 
    labs(title = "SomeTitle", x = "Lng", y = "Lat") 

dev.off() 

任何幫助表示讚賞!

回答

1

在PNG()函數,它的幫助下這樣說:

png(filename = "Rplot%03d.png", 
    width = 480, height = 480, units = "px", pointsize = 12, 
    bg = "white", res = NA, family = "", restoreConsole = TRUE, 
    type = c("windows", "cairo", "cairo-png"), antialias) 

有一個等號和一個值的所有參數,在默認的情況下,你不提他們明確。將寬度和高度設置爲要打印的柵格中正確的數字,並且不會有任何重新採樣。

你可能想是這樣的:

png(paste0(pathAndFilename, ".png"), width = ncol(myRaster), height = nrow(myRaster)) 

gplot(myRaster, maxpixels = 10000000) + 
    geom_raster(aes(fill = factor(value))) + 
    scale_fill_manual(values=c(someColors), legendSpecs) + 
    coord_equal() + 
    labs(title = "SomeTitle", x = "Lng", y = "Lat") 

dev.off() 
+0

謝謝您的回答。我已經嘗試過了,那麼分辨率是好的。但是標題,圖例等的字體大小相對較小。我無法改變(不使用par,也沒有任何相應的gplot參數)。 –