R Shiny leaflet addPolygons(颜色未显示)

时间:2016-05-05 20:11:03

标签: r dictionary shiny leaflet choropleth

我希望你能帮助我。我用Leaflet创建了一个等值线图。我将(数据框与国家和随机分数)和Shapefile与Polygon数据合并。到目前为止,它正在工作,但如果我在R-Shiny中实现它,地图显示,但没有颜色。也没有错误显示。谁知道为什么?

我的代码:

ui <- fluidPage(
  leafletOutput("map")
)


shinyServer(function(input, output) {

output$map <- renderLeaflet({
    test_map
  })
})

global.R

tmp <- tempdir()

url <- "http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/50m/cultural/ne_50m_admin_0_countries.zip"

file <- basename(url)

download.file(url, file)

unzip(file, exdir = tmp)

world <- readOGR(dsn = tmp, layer = "ne_50m_admin_0_countries", encoding = "UTF-8")

data <- data.frame(Code = c("AR", "AU", "BE", "BR"),
             Score = c(0.01, -0.05, 0.15, -0.22))

world <- merge(world, data,
               by.x = "iso_a2",
               by.y = "Code",
               sort = FALSE)

pal <- colorNumeric(
  palette = "RdYlGn",
  domain = world$Score
)

test_map <- leaflet(data = world) %>%
            addTiles() %>% 
            addPolygons(fillColor = ~pal(Score), 
                        fillOpacity = 0.9, 
                        color = "#BDBDC3", 
                        weight = 1)

1 个答案:

答案 0 :(得分:1)

我知道这是一个老问题,我不确定这是否会有所帮助,但我相信我已经a similar problem给了你刚刚解决的问题。

在我的情况下,我在我自己的PC上的Rstudio中显示多边形颜色没有任何问题,但是某些Web浏览器和旧版本的Rstudio拒绝用颜色填充多边形,即使地图的所有其他方面都工作正常。

问题在于我的调色板由带有alpha通道的十六进制代码向量组成(最后几位,指定透明度)。从十六进制代码中删除alpha通道解决了我的问题。可能值得检查您的颜色向量是否包含alpha,如果是,请根据我自己的问题(上面的链接)将其删除gsub(".{2}$","",your_colour_vector)之类的内容。

您的示例代码中的颜色看起来不像alpha,但可能是您的完整代码中的问题。这可以解释为什么示例代码有效但完整代码没有。无论如何都可能要研究一下?对不起,我忍不住了,我知道这是一个黑暗的镜头,而不是一个完整的解决方案。