Альфа tmap tm_add_legend не работает для "заливки" - PullRequest
1 голос
/ 21 января 2020

Я пытаюсь изменить альфа-значение моей легенды, чтобы оно соответствовало значению заливки полигона, однако, кажется, ничего не происходит, когда я задаю альфа-аргумент в tm_add_legend. Есть что-то ослепительно очевидное, что мне здесь не хватает?

library(tmap)
library(sf)

nc <- st_read(system.file("shape/nc.shp", package="sf"))

tm_shape(nc) + 
tm_polygons(col = "#326abf", border.col = "white", lwd = 2, alpha = 0.5) +
tm_add_legend(type = "fill", 
              alpha = 0.5,
              labels = "NC",
              col = "#326abf")

enter image description here

1 Ответ

3 голосов
/ 21 января 2020

Я не уверен, как именно в этом случае работает tmap. Но я нашел обходной путь. Я создал фиктивную переменную с именем mycat. Затем я использовал эту переменную для col в tm_polygons() и указал цвет, который вы используете в palette. Таким образом, вам не нужно использовать tm_add_legend().

library(dplyr)
library(sf)
library(tmap)

mutate(nc, mycat = "one") -> nc

tm_shape(nc) +
tm_polygons(col = "mycat", 
            palette = "#326abf",
            border.col = "white", lwd = 2, alpha = 0.5,
            title = "",
            labels = "NC") 

enter image description here

...