2017-03-01 56 views
0

基本上,accessibility_round的值可以從>0 to Inf開始,因此我想根據以下規則對點進行着色。根據自定義時間間隔使用顏色創建點符號地圖

>0 to 20 - Color1 
>20 to 100 - Color2 
>100 to 1000 - Color3 
>1000 to 10000 - Color4 (assume no value larger than 10000 except Inf) 
Inf - Color5  

我對R新使用tmap有點新,我不確定如何去設置自定義間隔。但這是我迄今爲止所嘗試的。

tm_shape(schools)+ 
     tm_symbols(title.col = "Accessibility", style = "fixed",breaks = c(0,20,100,1000,10000,Inf), col="accessibility_round",size = 0.3, 
       palette = "Accent", auto.palette.mapping = FALSE,interval.closure = "right") + 
     tm_layout(legend.outside = TRUE, legend.outside.position = "bottom", legend.stack = "horizontal") 

回答

0

究竟是什麼不起作用?如果我正確理解你的話,這可以做這項工作:

data(World) 
World$pop_est[World$pop_est>1e9] <- Inf 

tm_shape(World) + 
    tm_symbols(col="pop_est",size = 0.3, 
     title.col = "Population", 
     style = "fixed", 
     breaks = c(0,1e6,1e7,1e8,1e9,Inf), 
     palette = "Accent", 
     auto.palette.mapping = FALSE, 
     interval.closure = "right", 
     labels = c("0 to 1e6", "1e6 to 1e7", "1e7 to 1e8", "1e8 to 1e9", "Inf")) + 
tm_shape(World[which(World$pop_est==Inf),]) + 
    tm_text("name") + 
tm_layout(legend.outside = TRUE, legend.outside.position = "bottom", legend.stack = "horizontal") 
相關問題