您如何从传单图例中排除 NA 值?

问题描述

这是我的数据:https://paste.kodi.tv/omohuzawec

dput 的更新数据输出:已编辑

我正在尝试复制以下情节:

enter image description here

这是我迄今为止用来复制的代码,我唯一想不通的是如何从图例中删除 NA。

pal <- colorFactor(palette =  c("#F5DCA4","#E8A46A","#D16769","#B74146"),domain = zipcodes@data$risk.factor)

leaflet(zipcodes) %>% 
  addProviderTiles("CartoDB.Positron") %>%
  addpolygons(
    fillColor = ~pal(risk.factor),weight = 1,#weight of lines between zip codes
    color = "gray",#color of line between zip codes
    fillOpacity = .9,#fill opacity of zip codes
    popup = state_popup) %>%
  addLegend("bottomright",pal = pal,#pal = palette declared earlier
            values = ~risk.factor,title= "Risk: Lowest to Highest",opacity = 1) 

enter image description here

正确的代码,这是我们需要的 na.color :

colorFactor(palette =  c("#F5DCA4",domain = zipcodes@data$risk.factor,na.color = NA)

解决方法

函数 addLegend() 有一个参数 na.label,默认设置为 "NA"。从 here 似乎可以设置 na.label = "" 以从图例中删除 NA 标签。

,

就做 na.color = NA

colorFactor(palette =  c("#F5DCA4","#E8A46A","#D16769","#B74146"),domain = zipcodes@data$risk.factor,na.color = NA)
,

对于那些不希望 NA 出现在他们的图例中,但仍然希望他们的 NA 值的多边形具有悬停标签和某种颜色的人,我还发现了@canovasjm 提到的 GitHub solution,它定义了两个不同的调色板,很有帮助:

pal <- colorFactor(
    palette =  c("#F5DCA4",na.color = "grey" # desired color for NA polygons on map
)

pal_noNA <- colorFactor(
    palette =  c("#F5DCA4",domain = zipcodes@data$risk.factor
    na.color = NA
)

leaflet(zipcodes) %>% 
  addProviderTiles("CartoDB.Positron") %>%
  addPolygons(
    fillColor = ~pal(risk.factor),weight = 1,#weight of lines between zip codes
    color = "gray",#color of line between zip codes
    fillOpacity = .9,#fill opacity of zip codes
    popup = state_popup) %>%
  addLegend("bottomright",pal = pal_noNA,values = ~risk.factor,title= "Risk: Lowest to Highest",opacity = 1) 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...