在R中如何制作等高线地形图
时间: 2024-09-18 19:13:32 浏览: 106
contourx:绘制 2D 轮廓并可视化在选定点交叉的线性轮廓。-matlab开发
在R语言中制作等高线地形图通常使用`raster`包以及相关的地图制作库,比如`ggplot2`、`ggmap`或`tmap`。以下是使用`ggplot2`和`raster`的基本步骤:
1. 首先,你需要安装并加载必要的包:
```R
install.packages("raster")
install.packages("ggplot2")
library(raster)
library(ggplot2)
```
2. 加载地形数据,例如使用世界海拔数据集`worldtopo`:
```R
data(worldtopo)
terrain <- raster("worldtopo.rds") # 如果你已经有了预处理过的数据文件
```
3. 转换数据(如果需要),例如将值归一化到合适的范围:
```R
terrain_norm <- terrain / max(terrain) * 100 # 这里假设你想得到0-100的高度比例图
```
4. 创建等高线图:
```R
p <- ggplot() +
geom_raster(data = terrain_norm, aes(x = x, y = y), interpolate = TRUE) +
scale_fill_gradient(low = "white", high = "blue", breaks = seq(0, 100, by = 25)) +
theme_void()
```
5. 添加等高线:
```R
p + geom_contour(data = terra::contour(terrain_norm), aes(z = layer), color = "black", size = 0.5)
```
这里的`layer`是`terra::contour()`函数的结果,表示每个等高线的数值。
阅读全文