legend.stack 在 R 中的 tm_layout 中不起作用
The legend.stack doesn't work in tm_layout in R
参数设置在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)
我希望图例是水平的,但它没有改变。
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
层后,你应该得到这个:
参数设置在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)
我希望图例是水平的,但它没有改变。
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
层后,你应该得到这个: