如何使用ggplot2在无.tif与.shp文件时绘制单元格温度值栅格图
核心结论
不需要获取.shp或.tif格式文件,你的现有数据集已经可以直接用ggplot2完成栅格图绘制。
实现逻辑
ggplot2提供的geom_raster()/geom_tile()原生支持规则网格的表格数据绘图,你的数据中已经包含了每个栅格对应的经度(LONG)、纬度(LAT)、温度属性值(Cell_temperature_value),且经纬度为等间隔的规则网格,完全满足绘图要求。只有当你需要叠加行政边界、地形底图等额外空间元素时,才需要对应格式的辅助文件。
示例绘图代码
# 加载依赖包 library(ggplot2) # 绘制栅格图 ggplot(dt, aes(x = LONG, y = LAT)) + geom_raster(aes(fill = Cell_temperature_value)) + # 可根据需求更换配色,以下为冷暖渐变配色示例 scale_fill_gradient2(low = "blue", mid = "white", high = "red", midpoint = 0) + labs(x = "经度", y = "纬度", fill = "单元格温度值") + # 适配地理坐标比例,避免图形拉伸变形 coord_quickmap() + theme_bw()
可选优化说明
- 若你的完整数据存在缺失的网格点,可先用
tidyr::complete()补全经纬度网格再绘图 - 若需要添加投影信息,可将
coord_quickmap()替换为coord_sf()并指定对应crs参数
内容的提问来源于stack exchange,提问作者firmo23
相关产品推荐
相关产品推荐

