这个问题与how map certain USDA hardiness zones in R有关,但我只需要一张CA,NM和AZ的 map .我应该在filter
命令中输入什么才能只包含这3个州?
library(sf)
library(tidyverse)
library(USAboundaries)
state_zip <- "https://www.weather.gov/source/gis/Shapefiles/County/s_22mr22.zip"
download.file(state_zip, destfile = ".", junkpaths=TRUE, overwrite=TRUE)
unzip("state_zip.zip", junkpaths = TRUE, exdir = ".")
state_boundaries <- read_sf(".s_22mr22.shp")
temp_shapefile <- tempfile()
download.file('http://prism.oregonstate.edu/projects/public/phm/phm_us_shp.zip', temp_shapefile)
unzip(temp_shapefile)
# Read full shapefile
shp_hardness <- read_sf('phm_us_shp.shp')
shp_hardness_subset <- shp_hardness %>%
filter(str_detect(ZONE, '9b|10a|10b|6a|6b|7a|7b'))
我想要的输出是这张 map ,用坚硬地带着色
ca.az.nm <- subset(state_boundaries, STATE=="CA" | STATE=="AZ" | STATE=="NM")
ggplot() +
geom_sf(data = ca.az.nm)
ggplot() +
geom_sf(data = ca.az.nm) +
geom_sf(data = shp_hardness_subset, aes(fill = ZONE))