我完全迷住了,我不确定在R上是否可以做到这一点。
我正在尝试创建地图,在这里我可以使用FIPS代码或县名将加利福尼亚州分为3个区域(县线未显示)。在数据框中标识区域。每个区域的颜色会有所不同,并在地图上显示区域名称(北,中,南)。
然后,使用区域名称作为标识符,将另一个显示区域计数的图层放置在区域名称下方。
以下是示例数据文件: https://www.dropbox.com/s/2a6dikyepeu8syk/Regions.csv?dl=0 https://www.dropbox.com/s/3lit3gftccn66y4/Number.csv?dl=0
我已经能够使用maps包以非常全面的方式创建地图。有没有一种方法可以简化数据框的计数以创建区域?
library(tidyverse)
library(mapdata)
library(maps)
library(stringr)
library(viridis)
california <- map_data("state", region="california")
california1 <- ggplot() +
geom_polygon(data = california, aes(x = long, y = lat, group = group), color="black", fill="NA") +
coord_quickmap()
#california county lines
uscounties <-map_data("county")
ca_county <- uscounties %>% filter(region == "california")
central<- ca_county %>% filter(subregion %in% c("alpline","amador","calaveras","fresno","inyo","kern","madera"))
如您所见,使用此方法定义区域将花费一些时间。
ca2<- california1 + theme_void() +
geom_polygon(data = central, aes(x = long, y = lat, group = group), fill = "blue", color = NA) +
geom_polygon(color = "black", fill = NA) + annotate("text", x = -119, y = 46.5, label="Central", colour="white")
ca2<- california1 + theme_void() +
geom_polygon(数据=中心,aes(x =长,y =纬度,组=组),填充=“蓝色”,颜色= NA)+ geom_polygon(color =“ black”,fill = NA)+注释(“ text”,x = -120,y = 37.5,label =“ Central”,colour =“ black”)
ca3<- ca2 + annotate("text", x =-120, y =37, label=("30"), colour="black")
与单独输入相比,是否有更简化的方式来包含所有区域的数据框?
ca3 + annotate("text", x =-121, y =42.5, label=("Counts"), colour="black", size=5)
如果有人可以告诉我我在做什么错的话,ggtitle()和labs(title =“”)命令似乎也没有给我居中的标题。
我希望最终产品的外观示例(但填充更一致并包括所有3个区域):https://www.dropbox.com/s/6ff4trewi2i6uvr/california.png?dl=0