legend.stack在R的tm_layout中不起作用

时间:2019-09-10 23:47:26

标签: r tmap

参数设置在tm_layout中不起作用。我使用过legend.stack = "horizontal",但实际的图例不会改变。

library(tmap)
data(World, land)
tm_shape(land) +
tm_raster("elevation", breaks=c(-Inf, 250, 500, 1000, 1500, 2000, 2500, 3000, 4000, Inf), palette = terrain.colors(9), title="Elevation", midpoint = NA) +
tm_shape(World, is.master=TRUE) +
tm_borders("grey20") +
tm_layout(legend.only = TRUE,legend.position = c("left","center"),
      legend.stack = "horizontal",legend.text.size = 1.2)

我希望图例是水平的,但不会改变。

1 个答案:

答案 0 :(得分:0)

legend.stack确定不同图例的堆叠。您只有一个,并且应在相关层中使用legend.is.portrait = FALSE来更改单个图例中的堆叠。在您的情况下,这将是tm_raster层。

tm_raster("elevation", breaks=c(-Inf, 250, 500, 1000, 1500, 2000, 2500, 3000, 4000, Inf), 
          palette = terrain.colors(9), title="Elevation", midpoint = NA,
          legend.is.portrait = FALSE)

用上面的代码替换tm_raster层后,应该得到以下信息: image of legend