【发布时间】:2020-06-30 19:49:06
【问题描述】:
我正在尝试制作一张为加拿大草原省份绘制点的地图,但我没有运气在我的地图中添加图例。我对 r 中的映射非常陌生,所以我不明白我应该如何包含 aes 来获得图例。我的 siteDataTrees 数据来自 excel csv 文件,顶部如下所示: siteDataTrees 并且 siteDataBoth 的数据也来自 csv 文件,顶部如下所示: siteDataBoth.
这是我目前的代码:
library(maps)
library(ggplot2)
library(sf)
prairies1 <- map("worldHires","Canada", xlim = c(-120,-87), ylim = c(49,61),
plot = FALSE, fill = TRUE)
prairies <- st_as_sf(prairies1)
ggplot(data = prairies) +
geom_sf() +
geom_point(data = siteDataTrees, aes(x = long, y = lat), size = 2.5, pch = 21,
fill = "purple", show.legend = TRUE) +
geom_point(data = siteDataBoth, aes(x = long, y = lat), size = 2.5, pch = 21,
fill = "light green", show.legend = TRUE) +
geom_text(data = locations, aes(x = long, y = lat, label = name),
size = 2, col = "black", check_overlap = FALSE) +
annotation_scale(location = "tr", width_hint = 0.2) +
ggtitle("Climate Stations and Tree Chronology Locations for South AB") +
labs(x = "latitude", y = "longitude") +
theme(legend.position = "right") +
coord_sf(xlim = c(-115, -110), ylim = c(48.9, 50.49), expand = FALSE)
我还附上了一张地图,以显示没有图例的情况。
我应该如何获取数据框大草原并将其与 aes 一起使用以包含图例?是否有另一种方法可以在不使用 aes 函数的情况下在 ggplot2 中添加图例?提前感谢您的帮助,如果有什么遗漏请告诉我,因为这是我第一次发帖
【问题讨论】:
-
您希望您的图例显示什么?使用 ggplot2 创建图例
fill和/或color应包含在aes中。您可能会发现以下链接很有用:r-spatial.org/r/2018/10/25/ggplot2-sf.html -
嗨 davidnortes,感谢您的回复!我试图在图例中包含紫色点和绿色点。感谢您提供该链接,我使用它相当多,但不幸的是我并不完全了解如何使用草原来获得那个传说。
-
嗨 davidnortes,感谢您的帮助,因为我能够解决我的错误!我在错误的代码行中使用了 aes 并且没有正确使用颜色