我正在尝试使用ggplot2
绘制瑞士的Choropleth地图。
首先,我正在读取shapefile。在此shapefile中,有一个名为KANTONSNUM
的变量(对于所有瑞士州/地区,该数字都在1到26之间)。到目前为止一切都很好。
spdf <- readOGR(here("shp", "swissBOUNDARIES3D_1_3_TLM_KANTONSGEBIET.shp"))
spdf$KANTONSNUM
第二,我使用broom
-包将“ SpatialPolygonsDataFrame”对象“强化”为小标题(尽管我也尝试过强化)。
spdf_fortified <- broom::tidy(spdf)
ggplot() +
geom_polygon(data = spdf_fortified,
aes(fill = KANTONSNUM, x = long, y = lat, group = group), color = 'black') +
theme_void()
不幸的是,我的变量KANTONSNUM
不再存在:
tibble [193,947 x 7] (S3: tbl_df/tbl/data.frame)
$ long : num [1:193947] 2709777 2709835 2709901 2709902 2709914 ...
$ lat : num [1:193947] 1185645 1185665 1185660 1185675 1185687 ...
$ order: int [1:193947] 1 2 3 4 5 6 7 8 9 10 ...
$ hole : logi [1:193947] FALSE FALSE FALSE FALSE FALSE FALSE ...
$ piece: Factor w/ 5 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
$ group: Factor w/ 65 levels "0.1","1.1","1.2",..: 1 1 1 1 1 1 1 1 1 1 ...
$ id : chr [1:193947] "0" "0" "0" "0" ...
有人可以告诉我如何获取该变量,以便对其进行绘制吗?
错误消息是(从德语翻译的):
Regions defined for each Polygons
Error in FUN(X[[i]], ...) : Object 'KANTONSNUM' not found