以西太平洋为例
在世界地图上高亮展示某些地区信息,首先需要将地区信息处理成对应的国家信息,再将国家与R语言包maps信息相关联,找到对应的坐标信息,并展示到界面上。 如代码所示:
#install.packages("maps")
#install.packages("ggplot2")
#install.packages("rnaturalearth")
#install.packages("rnaturalearthdata")
#install.packages("dplyr")
library(maps)
library(ggplot2)
library(rnaturalearth)
library(dplyr)
# 获取世界地图数据
world_map <- ne_countries(scale = "medium", returnclass = "sf")
# 创建一个包含西太平洋地区国家的数据框
west_pacific_countries <- c("China", "Japan", "South Korea", "Philippines", "Indonesia", "Malaysia", "Vietnam", "Australia")
# 筛选出西太平洋地区的国家
west_pacific_map <- world_map %>%
filter(name %in% west_pacific_countries)
# 将其他国家与西太平洋地区分开
other_countries_map <- world_map %>%
filter(!(name %in% west_pacific_countries))
# 绘制世界地图
ggplot() +
# 其他国家用浅灰色填充
geom_sf(data = other_countries_map, fill = "lightgray", color = "black") +
# 西太平洋地区国家用红色填充
geom_sf(data = west_pacific_map, fill = "red", color = "black") +
# 添加注释
annotate(
"text",
x = 150, # 经度位置
y = 20, # 纬度位置
label = "max: 10000.876", # 展示信息
size = 5,
color = "blue"
) +
# coord_sf(xlim = c(70, 180), ylim = c(-40, 60), expand = FALSE) + # 设置地图范围
theme_minimal() +
labs(title = "West Pacific Region on World Map",
x = "Longitude",
y = "Latitude") +
theme(plot.title = element_text(hjust = 0.5))