簡體   English   中英

choroplethr,ggmap或ggplot2中的道路和半徑圓

[英]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時要求它使用主要的州際公路/高速公路。

這是我對這個問題的“理想”MS Paint解決方案: 在此輸入圖像描述

提前感謝您提供任何幫助,如果您有任何需要解答的澄清問題,請與我們聯系,以便提供幫助!

對於那些后來偶然發現的人。 通過將圖書館改為leaflettigris我能夠實現我希望做的事情。

在此輸入圖像描述

我計划進行最終調整以供個人使用,但這里是使用的代碼:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM