2015-05-14 36 views
2

關於choropleth地圖的另一個問題即將到來。起初讓我們做一些數據。choroplethr地圖在R

`a<-c(4.1,2.5,0.4,6.4,1.4,1.8,3.8,1.3,2.3,8.4,5.2,1.9,0.8,1.5,2.1,1.2,3.8,1.4,3.1,0.8,4.0,1.3,4.8,2.6,2.8,2.3,3.1,2.5) 
    target<-c("austria","belgium","bulgaria","switzerland","cyprus","czech republic","denmark", 
"estonia","spain","finland","france","greece","croatia","hungary","ireland","italy", 
"lithuania","luxembourg","latvia","norway","poland","portugal","romania","sweden", 
"slovenia","slovakia","turkey","united kingdom") 
datas<-data.frame(region=target,value=a) 
datas$region<-as.character(datas$region) 
install.packages("choroplethr") 
install.packages("choroplethrMaps") 
library(choroplethr) 
library(choroplethrMaps) 
data(country.map) 
data(country.regions) 


gg <- country_choropleth(datas,legend="%",num_colors=1,zoom=target) 
gg <- gg + xlim(-31.266001, 39.869301) 
gg <- gg + ylim(27.636311, 81.008797) 
gg <- gg + coord_map("lambert", lat0=27.636311, lat1=81.008797) 
gg` 

所以輸出enter image description here

,我不能調整是離開一個國家無色的事情。如果我將一個國家的價值設定爲0,那麼這會大幅改變其他人的顏色比例。我的目標是在地圖上添加我沒有數據的國家/地區,並將其顏色設置爲灰色以使地圖更加逼真,並指出我擁有數據的國家/地區。

回答

5

我認爲這裏有兩件事。

  1. 默認情況下,在choroplethr所有NA值被渲染爲黑色:

    a <- c(NA, NA, NA,6.4,1.4,1.8,3.8,1.3,2.3,8.4, 
         5.2,1.9,0.8,1.5,2.1,1.2,3.8,1.4,3.1,0.8, 
         4.0, 1.3,4.8,2.6,2.8,2.3,3.1,2.5) 
    ... 
    

default na

  • 請注意,可以覆蓋按此比例:

    gg + scale_fill_continuous(low="#eff3ff", high="#084594", na.value="yellow") 
    
  • custom-scale

    你說你想要的NA值顯示爲灰色。您也可以通過更改na.value的值來做到這一點。在這裏,我選擇黃色作爲大對比,因爲這是一個例子。

    +0

    謝謝你。我已經試圖設置我想要的值,但沒有scale_fill_continous它毀了結果,因爲它添加了黑色的色階。美麗 –

    +0

    還有一個問題剛剛出現。有什麼方法可以用黑色繪畫讓我們說每個國家的周邊,以便讓它們更加可區分? –

    +0

    你可以問一個單獨的問題嗎?就像「如何改變可調度國家地圖的邊界?」 – Ari