您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# R语言如何画地图
## 引言
在数据可视化领域,地图是展示空间数据的强大工具。R语言作为统计分析和可视化的利器,提供了多种绘制地图的方法。本文将介绍三种主流方法:基础`graphics`包、`ggplot2`扩展以及专业的`sf`/`leaflet`方案,并通过中国地图案例演示完整流程。
---
## 一、基础绘图系统
### 1.1 使用maps包绘制世界地图
```r
# 安装必要包
install.packages("maps")
library(maps)
# 绘制世界地图
map("world", fill = TRUE, col = rainbow(20))
title("世界地图示例")
# 随机生成坐标点
set.seed(123)
points(runif(20, -180, 180), runif(20, -90, 90),
pch = 19, col = "red", cex = 1.5)
优点:简单快捷,适合快速可视化
局限:地理精度较低,缺乏现代GIS功能
library(ggplot2)
china_map <- map_data("world", region = "China")
ggplot(china_map, aes(x = long, y = lat, group = group)) +
geom_polygon(fill = "lightblue", color = "black") +
coord_fixed(1.3) +
theme_void()
# 模拟省级数据
province_data <- data.frame(
region = unique(china_map$region),
value = runif(length(unique(china_map$region)))
)
ggplot() +
geom_map(data = province_data, aes(map_id = region, fill = value),
map = china_map) +
expand_limits(x = china_map$long, y = china_map$lat)
进阶技巧:
- 使用ggspatial
添加比例尺
- 通过sf
包导入高精度Shapefile
library(sf)
library(rnaturalearth)
# 获取中国省级数据
china <- ne_states(country = "china", returnclass = "sf")
# 绘制带投影的地图
ggplot(china) +
geom_sf(aes(fill = pop_est)) +
coord_sf(crs = st_crs(4326)) +
scale_fill_viridis_c(trans = "log10")
library(leaflet)
leaflet(china) %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addPolygons(
fillColor = ~colorQuantile("YlOrRd", pop_est)(pop_est),
weight = 1
) %>%
addLegend("bottomright", pal = colorQuantile("YlOrRd", china$pop_est),
values = ~pop_est)
专业功能对比:
功能 | sf | leaflet |
---|---|---|
静态地图 | ✓ | ✗ |
交互操作 | ✗ | ✓ |
空间分析 | ✓ | 有限 |
library(chinamap) # 专用中国地图包
data("china.map")
# 合并经济数据
gdp_data <- read.csv("province_gdp.csv") # 假设有CSV数据
library(RColorBrewer)
ggplot() +
geom_sf(data = china.map, aes(fill = gdp_data$GDP)) +
scale_fill_gradientn(colors = brewer.pal(9, "YlGnBu")) +
labs(title = "2023年中国各省GDP分布")
cowplot
拼图rmapshaper
简化多边形数据源:
学习资料:
扩展包:
tmap
:语法统一的制图系统mapview
:快速交互预览rayshader
:3D地形图R语言的地图绘制生态从简单的静态展示到复杂的空间分析一应俱全。建议初学者从ggplot2
起步,逐步过渡到sf
体系。需要注意中国地图的绘制必须包含完整领土,建议使用官方审图号数据。随着空间数据分析需求的增长,掌握这些工具将为研究工作带来显著优势。
“`
注:实际使用时需要根据具体数据调整代码,中国地图绘制请确保使用合规地理数据。本文代码示例需配合相应数据包使用,部分数据可能需要额外下载。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。