我正在努力在 ggplot2 中绘制 sf 对象。我有一组多边形buffered,每个多边形都有一个密度值density。我想将其与单个 sf 点GPS_point作为参考点一起绘制。我遇到的问题是我无法fill为每个对象单独设置颜色。
ggplot() +
geom_sf(data = buffered, aes(fill = density),lwd = 0) + #polygons filled based on the density value
geom_sf(data = GPS_point, aes(fill = "red"), size = 5) + #reference point that I want to make red
scale_fill_viridis_c(option = "magma",begin = 0.1)
Run Code Online (Sandbox Code Playgroud)
我正在尝试将参考点填充颜色设置为红色。当前代码将两个对象的填充设置为magma。问题在于,这使得参考点与背景无法区分,因为它们最终具有相同的颜色。有没有办法分别操作这两个geom_sf调用的填充颜色?
将硬编码颜色传递给 geom 的正确语法是将其放在 之外aes:
ggplot() +
geom_sf(data = buffered, aes(fill = density),lwd = 0) + #polygons filled based on the density value
geom_sf(data = GPS_point, fill = "red", size = 5) + #reference point that I want to make red
scale_fill_viridis_c(option = "magma",begin = 0.1)
Run Code Online (Sandbox Code Playgroud)
不同之处在于aes需要一个变量(当您在第一次geom_sf调用中传递“密度”时),它将使用该变量根据变量采用的值来分级填充。硬编码的颜色,例如“红色”应该在没有aes
| 归档时间: |
|
| 查看次数: |
22595 次 |
| 最近记录: |