我正在尝试制作一张为加拿大草原省份绘制点的地图,但我没有运气在我的地图中添加图例。我对 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 中添加图例?提前感谢您的帮助,如果缺少某些内容,请告诉我,因为这是我的第一次发布