以下是一个示例代码,其中使用ggplot2和maps R包:

library(ggplot2)
library(maps)

# 下载地图数据
world_map <- map_data("world")

# 创建随机数据
set.seed(123)
n_points <- 20
points_data <- data.frame(
  lon = runif(n_points, -180, 180),
  lat = runif(n_points, -90, 90)
)

# 按国家分组计数点数
points_count <- aggregate(cbind(count = 1) ~ region, data = world_map, FUN = sum)
colnames(points_count)[1] <- "country"
points_count$count <- sample(1:10, nrow(points_count), replace = TRUE)

# 合并点数计数和地图数据
world_map_count <- merge(world_map, points_count, by = "country", all.x = TRUE)

# 绘制地图并添加点
ggplot(world_map_count, aes(x = long, y = lat, group = group)) +
  geom_polygon(aes(fill = count), color = "black") +
  scale_fill_gradient(low = "white", high = "red") +
  geom_point(data = points_data, aes(x = lon, y = lat), color = "blue", size = 2)

这将生成一个世界地图,在地图上标记了20个随机点,并且根据每个国家的点数着色。您可以根据需要调整点的数量和颜色方案


原文地址: https://www.cveoy.top/t/topic/fy6C 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录