首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >levelplot多图,带边距,无空格

levelplot多图,带边距,无空格
EN

Stack Overflow用户
提问于 2021-08-05 19:35:19
回答 1查看 183关注 0票数 1

我在使用带边距的levelplot函数创建多重图时遇到了困难。

每次尝试时,我都会遇到这些问题中的至少一个:空格太多、错误或页边距太大。

代码语言:javascript
运行
AI代码解释
复制
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)

我想要这样的东西:(如果是普通传奇的话)

泰!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-05 23:55:10

经过一些挖掘之后,您可以修改部分点阵图,例如R remove whitespace between levelplot grobs

我已经在你的x对象上试过了,它看起来更好。我添加了更多的页边距,因为他们的默认删除了图例文本,例如尝试

代码语言:javascript
运行
AI代码解释
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68675797

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文