我正在使用该包构建静态地图sf,我希望我的地图具有特定的颜色和透明度。我可以设法独立地做到这两点,但不能结合在一起。
library(sf)
nc = st_read(system.file("gpkg/nc.gpkg", package="sf"), quiet = TRUE)
Run Code Online (Sandbox Code Playgroud)
我可以简单地将地图全部变成红色:
plot(nc["SID74"], col="red")
Run Code Online (Sandbox Code Playgroud)
如果我想添加透明度,我必须更改col参数并传递给它一个sf.colors调用:
plot(nc["SID74"], col=sf.colors(n=1, alpha=0.3))
Run Code Online (Sandbox Code Playgroud)
产生:
我有透明度,但它是默认的蓝色,我找不到将其更改为红色的选项?sf.colors。我想设置颜色并且还有透明度。
知道怎么做吗?
如果您想使用特定颜色,则无需使用该sf.colors功能。这会为您选择一个调色板。该函数并不是为绘图设置颜色的唯一方法,它只是公开了您想在其他地方使用它们时使用的sf.colors默认颜色。sf
如果您想调整现有颜色的透明度,该scales包有一个辅助函数可以做到这一点。
plot(nc["SID74"], col=scales::alpha("red", .3))
Run Code Online (Sandbox Code Playgroud)
你可以看到scales::alpha("red", .3)返回
[1] "#FF00004D"
Run Code Online (Sandbox Code Playgroud)
所以它基本上是一个 rgb-hex 值,带有一个额外的字节以提高透明度。您还可以使用该rgb()函数来构造类似的对象。
| 归档时间: |
|
| 查看次数: |
2243 次 |
| 最近记录: |