r - ggplot - 制作自定义地图
问题描述
我需要根据一些指标(如平均年龄、收入等)用不同的颜色为克罗地亚的不同县着色。但是,在能够做到这一点之前,我想知道如何将每个县位置的数据导入 R。
我找不到任何包含这些数据的预先存在的包(如果这是不真实的,我很抱歉,我是在 ggplot 中使用地图的新手)。
我唯一拥有的是一张显示每个县边界的图片,附在下面。但是,我不知道如何把它变成 ggplot 可以使用的东西。
解决方案
您可以通过选择国家为克罗地亚从https://www.diva-gis.org/gdata下载 shapefile 。然后使用下面的代码
library(rgdal)
df <- readOGR(dsn = "C:\\Users\\User\\Desktop\\HRV_adm", layer = "HRV_adm1")
#To view the attributes
head(df@data)
#For plotting the map
plot(df["NAME_1"], axes = TRUE)
对于使用绘图,ggplot2
您可以使用
library(sf)
library(ggplot2)
#Plotting Using ggplot2
sf <- st_read(dsn="C:\\Users\\User\\Desktop\\HRV_adm", layer="HRV_adm1")
ggplot(sf) +
geom_sf(aes(fill = NAME_1)) + theme(legend.position = "none")+
geom_sf_text(aes(label = NAME_1), check_overlap = T)
推荐阅读
- java - 骑士巡回赛问题 - 移动顺序影响性能
- javascript - TestCafe requestHook 响应正文未提供文本
- c# - 根据为同一 .net 实例请求的域加载不同的配置文件
- mautic - Mautic 中的 CSRF - 无效的 CSRF 令牌错误
- python - python asyncio/aiohttp 跨项目共享全局变量
- arrays - 使用 SciPy 读取 MATLAB MAT 文件时出现“期望 miMATRIX 类型”错误
- javascript - 使用指针将 C++ 转换为 JavaScript(节点)*
- python - Pandas:按未知时间段分组
- json - 通过 JSON Id 在 ReactJS 中的特定页面路由
- javascript - 登录后CoreUI React Re-Routing无法正常工作