【问题标题】:How to change alpha in geom_sf?如何更改 geom_sf 中的 alpha?
【发布时间】:2019-02-18 05:20:11
【问题描述】:

有没有办法将alpha 更改为geom_sf?此示例来自?geom_sf 中的示例。我尝试添加alpha=.2,但它似乎忽略了这种审美,尽管alphageom_line 公认的审美。它不会忽略 fill 的 alpha - 但在此示例中为 NA

library(sf)
#> Linking to GEOS 3.6.1, GDAL 2.1.3, proj.4 4.9.3
library(ggplot2)

nc <- sf::st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE)
nc_3857 <- sf::st_transform(nc, "+init=epsg:3857")

ggplot() + geom_sf(data = nc) + 
  geom_sf(data = nc_3857, colour = "red", fill = NA, alpha = 0.2)

【问题讨论】:

  • 据我了解,alphadeliberate design decision 会影响fill,但不会影响colour geoms 中的美学。在GeomSfdraw_panel 函数中可以用不同的行为重写你自己的geom,但我不推荐它。当您有相邻的多边形时,重叠线的累积 alpha 值将高于外边界处的线。

标签: r ggplot2 sf


【解决方案1】:

这叫做大纲。我从来没有使用过地图,结果不是很漂亮,但我希望这仍然有帮助,这可以帮助你更多: ggplot2: different alpha values for border and filling of geom_point

library(sf)
#> Linking to GEOS 3.6.1, GDAL 2.1.3, proj.4 4.9.3
library(ggplot2)

nc <- sf::st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE)
nc_3857 <- sf::st_transform(nc, "+init=epsg:3857")

ggplot() + geom_sf(data = nc) + 
  geom_sf(data = nc_3857, color=alpha("red",0.2))

【讨论】:

  • 当您有多个组并需要使用 aes(color =) 时,它是如何工作的?
  • 不确定我是否理解,但您可以为每一层设置不同的 aes()。
猜你喜欢
  • 2019-12-10
  • 2021-03-13
  • 2015-04-05
  • 1970-01-01
  • 1970-01-01
  • 2019-07-03
  • 2020-02-27
  • 1970-01-01
  • 2011-10-05
相关资源
最近更新 更多