Tmap:增加剧情和图例之间的空间

问题描述

我想在tmap中增加剧情和图例之间的空间。使用'legend.outside.size'有效,但也可以更改整个图的比例。有什么办法可以使图例降下来吗?理想情况下,下面板和图例之间的间距应大于垂直面板之间的间距。

library(tmap)
library(raster)

r <- raster::raster(matrix(runif(100),10,10))
s <- raster::raster(matrix(runif(100),10))
t <- raster::raster(matrix(runif(100),10))
u <- raster::raster(matrix(runif(100),10))

allrasters<-stack(r,s,t,u)
tm_shape(allrasters,is.master = TRUE) +
  tm_raster (title = '',legend.is.portrait = FALSE,legend.format = list(text.align='center'),style="cont",palette =  "RdBu")+ 
  
  tm_layout(main.title= '',inner.margins= c(0.0,0.0,0.0),outer.margins = c(0,0.04,0),legend.text.size = 1.5,legend.outside = TRUE,legend.outside.position = 'bottom',legend.outside.size = 0.15,legend.frame=TRUE,legend.just = c('center','bottom'),legend.position = c('center','BottOM'),panel.labels = as.character(c(2013:2018)),panel.label.height=1.5,panel.label.size=1.5,frame = FALSE,frame.lwd = NA,panel.label.bg.color = NA  ) 

enter image description here

解决方法

您似乎正在寻找扩展tmap的自定义功能。我建议您使用其他软件包,用更少的代码就能获得更好,更容易定制的图表。例如,使用rasterVis可以自定义ggplot,例如,使用各种{{1}来更改图例栏的大小,宽度,间距,断点和颜色很简单。 }选项:

theme

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...