带边距的 levelplot 多图,没有空格
levelplot multiplot with margins, without blank spaces
我在使用带边距的 levelplot
函数创建多图时遇到困难。
我每次尝试都至少遇到以下问题之一:白色太多 space、错误或边距太大。
library(raster)
library(rasterVis)
library(gridExtra)
f <- system.file("external/test.grd", package="raster")
r <- raster(f)
x <- levelplot(r, margin=T)
# ATTEMPT 1
print(x, split = c(1, 1, 2, 2), more = TRUE)
print(x, split = c(2, 1, 2, 2), more = TRUE)
print(x, split = c(1, 1, 1, 2), more = FALSE)
# ATTEMPT 2 - error
l <- rasterVis::levelplot(raster::stack(list(x, x, x)), layout=c(3,1), margin = T); l
# ATTEMPT 3 = best, but a lot of white space and bigger margin
grobs <- arrangeGrob(grobs=list(x, x, x), ncol=3)
grid.arrange(grobs)
我想要这样的东西:(如果有常见的图例,奖励)
ty !
经过一番挖掘,您可以修改部分点阵图,例如R remove whitespace between levelplot grobs
我已经在您的 x
对象上试过了,它看起来更好。我添加了更多的边距,因为他们默认删除了图例文本,例如尝试
x <- levelplot(r, margin=TRUE)
x$par.settings$layout.heights[
c( 'bottom.padding',
'top.padding',
'key.sub.padding',
'axis.xlab.padding',
'key.axis.padding',
'main.key.padding') ] <- 1
x$aspect.fill <- TRUE
grobs <- arrangeGrob(grobs=list(x, x, x), ncol=3)
grid.arrange(grobs)
我在使用带边距的 levelplot
函数创建多图时遇到困难。
我每次尝试都至少遇到以下问题之一:白色太多 space、错误或边距太大。
library(raster)
library(rasterVis)
library(gridExtra)
f <- system.file("external/test.grd", package="raster")
r <- raster(f)
x <- levelplot(r, margin=T)
# ATTEMPT 1
print(x, split = c(1, 1, 2, 2), more = TRUE)
print(x, split = c(2, 1, 2, 2), more = TRUE)
print(x, split = c(1, 1, 1, 2), more = FALSE)
# ATTEMPT 2 - error
l <- rasterVis::levelplot(raster::stack(list(x, x, x)), layout=c(3,1), margin = T); l
# ATTEMPT 3 = best, but a lot of white space and bigger margin
grobs <- arrangeGrob(grobs=list(x, x, x), ncol=3)
grid.arrange(grobs)
我想要这样的东西:(如果有常见的图例,奖励)
ty !
经过一番挖掘,您可以修改部分点阵图,例如R remove whitespace between levelplot grobs
我已经在您的 x
对象上试过了,它看起来更好。我添加了更多的边距,因为他们默认删除了图例文本,例如尝试
x <- levelplot(r, margin=TRUE)
x$par.settings$layout.heights[
c( 'bottom.padding',
'top.padding',
'key.sub.padding',
'axis.xlab.padding',
'key.axis.padding',
'main.key.padding') ] <- 1
x$aspect.fill <- TRUE
grobs <- arrangeGrob(grobs=list(x, x, x), ncol=3)
grid.arrange(grobs)