首页 > 解决方案 > ggplot - 制作自定义地图

问题描述

我需要根据一些指标(如平均年龄、收入等)用不同的颜色为克罗地亚的不同县着色。但是,在能够做到这一点之前,我想知道如何将每个县位置的数据导入 R。

我找不到任何包含这些数据的预先存在的包(如果这是不真实的,我很抱歉,我是在 ggplot 中使用地图的新手)。

我唯一拥有的是一张显示每个县边界的图片,附在下面。但是,我不知道如何把它变成 ggplot 可以使用的东西。

在此处输入图像描述

标签: rggplot2

解决方案


您可以通过选择国家为克罗地亚从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)

在此处输入图像描述


推荐阅读