在 R 中的地图上映射采样点 + 在同一地图中创建区域的放大

Mapping sampling sites on a map in R + creating a zoom in of a region in the same map

对于我的博士项目,我想在地图上显示我的采样点(坐标),首先在新西兰地图上显示它们,然后放大该区域(我自己选择的坐标)以显示该特定区域的采样点。我是 R 的新手,我觉得有点沮丧。

我成功构建了新西兰地图(代码如下),但如何在其上添加数据点以及如何创建特定区域的放大图并在其上添加数据点??

    NZ <- map_data("nz",xlim = c(166, 179), ylim = c(-48, -34)) 
    ggplot() +
    geom_path(aes(long, lat, group=group), data=NZ, color="black") +
    coord_equal() +
    scalebar(NZ, dist = 100, dist_unit = "km", st.size=3, height=0.01, model = 'WGS84', transform =    TRUE)

感谢所有帮助我的人!!

例如:

library(tidyverse)

dunedin <- tibble(X=170.5, Y=-45 - 52/60, Text="Dunedin")
NZ <- map_data("nz",xlim = c(166, 179), ylim = c(-48, -34))
ggplot() +
  geom_path(aes(long, lat, group=group), data=NZ, color="black") +
  geom_point(data=dunedin, aes(x=X, y=Y), colour="blue") +
  geom_label(data=dunedin, aes(x=X, y=Y, label=Text), colour="blue", nudge_x=1) +
  coord_equal()

顺便说一句,scalebar 不是 ggplot2 的一部分,因此您的示例不是独立的。这在这里不是主要问题,但可能是另一种情况。