ggplot2问题与绘制点和多边形

时间:2018-11-28 20:58:12

标签: r ggplot2

我正在尝试使用ggplot2创建一个简单的地图,以显示一系列流域和数据点。

数据点存储在.csv文件中,如下所示:

Points

我已经投影了点并创建了SpatialPointDataFrame,然后将它们存储在数据框中:

points <- read.csv(c(paste0("./Points/", "points.csv")), header = T, sep = ",")
coordinates(points) <- ~Lat + Lon
cord <- "+init=epsg:2163"
proj4string(points) <- CRS(cord)
points_df <- as.data.frame(points, region = "id")

所有盆地文件都存储在同一目录中,并且已被读取到单个空间多边形数据框中,如下所示:

spatialpolygonsdataframe

然后使用以下方法将其转换为数据框:

basins_TX$id <- rownames(basins@data)
basins_TX_df <- tidy(basins, region = "id")

然后我尝试使用以下代码创建地图:

ggplot() +
  geom_polygon(data = basins_df, 
               aes(x = long, y = lat, group = group), 
               fill = "white", color = "black") + 
  geom_point(data = points_df, 
             aes(x = Lon, y = Lat),
             color = "red")

这将创建一个包含多边形和一个点位于0,0的地图:

plot

无论我正在查看数据的哪一部分,都将发生这种情况。我想准确显示点和多边形。

1 个答案:

答案 0 :(得分:0)

问题实际上与我的数据预测有关。我已经定义了点文件的投影而不是投影它,所以它是不正确的。我能够通过正确地重新定义并使用spTransform

投影点文件来纠正这一问题。

将其保留,以防其他遇到类似问题,尽管该错误不在ggplot2脚本中。