Ale*_*ris 2 r choropleth choroplethr
关于等值线图的另一个问题即将到来.首先让我们制作一些数据.
`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`
Run Code Online (Sandbox Code Playgroud)
所以输出是 
我无法调整的是让一个国家变得无色.如果我将国家/地区的值设置为0,则会大幅改变其他国家/地区的颜色比例.我的目标是在地图中添加我没有数据的国家/地区,并将其颜色设置为灰色以使地图更加逼真,并指出我拥有数据的国家/地区.
我认为这里有两件事.
默认情况下,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)
...
Run Code Online (Sandbox Code Playgroud)
请注意,您可以通过以下方式覆盖比例:
gg + scale_fill_continuous(low="#eff3ff", high="#084594", na.value="yellow")
Run Code Online (Sandbox Code Playgroud)
你说你希望NA值显示为灰色.你也可以通过改变它的值来做到这一点na.value.在这里,我选择黄色只是为了一个大的对比,因为这是一个例子.