tmap tm_add_legend alpha 不适用于 "fill"
tmap tm_add_legend alpha doesn't work for "fill"
我正在尝试更改图例的 alpha 值以匹配多边形填充的 alpha 值,但是当我在 tm_add_legend
中指定 alpha 参数时似乎没有任何反应。有什么我在这里遗漏的非常明显的东西吗?
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")
我不确定 tmap 在这种情况下是如何工作的。但我找到了解决方法。我创建了一个名为 mycat
的虚拟变量。然后,我在 tm_polygons()
中将此变量用于 col
,并在 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")
我正在尝试更改图例的 alpha 值以匹配多边形填充的 alpha 值,但是当我在 tm_add_legend
中指定 alpha 参数时似乎没有任何反应。有什么我在这里遗漏的非常明显的东西吗?
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")
我不确定 tmap 在这种情况下是如何工作的。但我找到了解决方法。我创建了一个名为 mycat
的虚拟变量。然后,我在 tm_polygons()
中将此变量用于 col
,并在 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")