[英]Roads and Radius Circles in choroplethr, ggmap, or ggplot2
我正在使用library(choroplethr)
進行一些市場分析,我有一些關於制作我的county_choropleth
,要么將它覆蓋在ggmap()
之上,要么在我的代碼中使用reference_map=TRUE
。 我要做的就是把我的縣城等一些地方放置州州際公路/高速公路,並在它上面繪制圓圈/半徑。
我現在擁有的是:
library(choroplethr)
data <- Data.frame(County.FIPS = c(19153,19163,19153,19153,19153,19153,19153,19113,19007,19169), Score=c(812.6,769.5,757.9,757.2,722.6,712.4,69727,690.2,64539,642.5)
county <-aggregate(data$Score~data$County.FIPS,data=data,sum)
colnames(county) <- c("region", "value")
mp <- county_choropleth(county, state_zoom=c("iowa"), num_colors = 1) +
theme(legend.position="none")+
scale_fill_gradient2("Score",
high = "dark green",
low = "red",
na.value = "grey90",
breaks = pretty(county$value, n = 10),
label = scales::dollar_format())
從這里開始,我想要做的是將愛荷華州的主要州際公路覆蓋在我的地圖上,並創建一些半徑圓圈以顯示距離某些城市的距離。 我希望它能從這張地圖中獲取元素並理想地將它們合並到我的choroplethr地圖中,因為在我看來,它看起來比這個例子更清晰:
我用這段代碼檢索第二張地圖:
library(ggmap)
test<-get_map(location = c(lon=-93.57217,lat=41.67269), maptype="roadmap",source="google",zoom=7,scale="auto")
yup <- data.frame(lon=c(-93.57217,-95.87509), lat=c(41.67269,41.23238),score=c(1,1))
ggmap(test) + stat_density2d(aes(x = lon, y = lat, fill = score,alpha=score),
size = 2, bins = 2, data = yup, geom = "polygon") +
theme(legend.position="none")
我在choroplethr
庫中使用reference_map=TRUE
主要問題是,當我將county_choropleth置於其上時,它choroplethr
標簽,道路等變灰。 例如,
那么,是否有一個簡單的解決方法,在地圖上包含道路和繪制圓圈,或者我是否需要放棄使用choroplethr
並轉移到ggmap,ggplot2或其他什么? 我也能夠在他們的網站上找到愛荷華州DOT形狀文件的路徑,所以這是一個包含的選項,但我不知道具體如何只在要繪制和讀入R時要求它使用主要的州際公路/高速公路。
提前感謝您提供任何幫助,如果您有任何需要解答的澄清問題,請與我們聯系,以便提供幫助!
對於那些后來偶然發現的人。 通過將圖書館改為leaflet
和tigris
我能夠實現我希望做的事情。
我計划進行最終調整以供個人使用,但這里是使用的代碼:
library(tigris)
library(leaflet)
data <- data.frame(County.FIPS = c(19153,19163,19153,19153,19153,19153,19153,19113,19007,19169), Score=c(812.6,769.5,757.9,757.2,722.6,712.4,69727,690.2,64539,642.5))
county <-aggregate(data$Score~data$County.FIPS,data=data,sum)
colnames(county) <- c("GEOID", "Score")
IA_counties <- counties(state="IA", cb=TRUE, resolution ="20m")
IA_merged <- geo_join(IA_counties,county,"GEOID", "GEOID")
pal <- colorQuantile("Greens",NULL,n=3)
popup <- paste0("Profitability: ", as.character(IA_merged$Score))
yup2 <- data.frame(lon=c(-93.57217,-95.93779),lat=c(41.67269,41.25861),score=c(1,1))
leaflet() %>%
addProviderTiles("Esri.WorldStreetMap") %>%
addLegend(pal = pal,
values = IA_merged$Score,
position = "bottomright",
title = "County Profitablity: ") %>%
addCircles(lng=yup2$lon, lat=yup2$lat,weight=1,fillOpacity=0.05,color="red",
radius = 96560) %>%
addCircles(lng=yup2$lon, lat=yup2$lat,weight=1,fillOpacity=0.025,color="blue",
radius = 193121) %>%
addPolygons(data = IA_counties,
fillColor = ~pal(IA_merged$Score),
fillOpacity = 0.15,
weight = 0.2,
popup = popup)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.