【问题标题】:Trying to use ggplot to map data points onto a shapefile尝试使用 ggplot 将数据点映射到 shapefile
【发布时间】:2020-04-29 14:55:18
【问题描述】:

所以我已经有几天这个问题了。基本上我所拥有的是一个表格,其中字段站点纬度/经度表示为数字。与每个站点 ID 相关联的是我想要绘制的不同化学数据。这是桌子的样子。 [表格说明][1][1]:https://i.stack.imgur.com/m4vH5.png

我还上传了一个 shapefile。 [形状文件][2][2]:https://i.stack.imgur.com/sDFca.png

现在我想做的是使用 ggplot 将这些数据点与这些化学数据绘制到地图上。我第一次使用代码

    Master_cave_data <- Master_cave_data %>%
    st_as_sf(coords = c('Long_DD', 'Lat_DD'), crs = 4326, sf_column_name = NULL) 

这行得通,我还使用代码将数据集转换为数据框

    Master_cave_data <- as.data.frame(Master_cave_data)

但我仍然无法将数据点绘制到形状文件上。我必须使用 tmap 绘制它们吗? 感谢您的帮助

【问题讨论】:

    标签: r ggplot2 sf


    【解决方案1】:

    您应该能够在对 plot sf objects 的 ggplot 调用中使用 geom_sf()。您甚至不需要 as.data.frame 转换。

    ggplot(Master_cave_data) +
    geom_sf()  
    

    【讨论】:

    • 我曾尝试在我想要绘制的数据点上使用 geom_sf() 然后 geom_points() 。但不断收到此错误“错误:data 必须是数据框,或由fortify() 强制执行的其他对象,而不是具有 gg/ggplot 类的 S3 对象”
    • 你能提供一个可重现的例子吗?
    • 感谢您的帮助,但我想通了,您说得对,我只需要 geom_sf。问题不在于我的代码,而在于我的数据。当我用纬度/经度绘制我的点时,我的 shapefile 正在使用北/东。大声笑所有的麻烦
    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 2019-10-01
    • 1970-01-01
    相关资源
    最近更新 更多