R闪亮传单(不显示颜色)

R闪亮传单(不显示颜色),r,dictionary,shiny,leaflet,choropleth,R,Dictionary,Shiny,Leaflet,Choropleth,我希望你能帮助我。我已经制作了一张带有传单的choropleth地图。我合并了我的(带有国家和随机分数的数据框)和带有多边形数据的形状文件。到目前为止,它是有效的,但是如果我在R-Shining中实现它,地图会显示出来,但是没有颜色。也没有错误显示。有人知道为什么吗 我的代码: ui <- fluidPage( leafletOutput("map") ) shinyServer(function(input, output) { output$map <- renderL

我希望你能帮助我。我已经制作了一张带有传单的choropleth地图。我合并了我的(带有国家和随机分数的数据框)和带有多边形数据的形状文件。到目前为止,它是有效的,但是如果我在R-Shining中实现它,地图会显示出来,但是没有颜色。也没有错误显示。有人知道为什么吗

我的代码:

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)

ui我知道这是一个老生常谈的问题,我不确定这是否会有帮助,但我相信我必须告诉你刚刚解决的问题

在我的例子中,我在自己的PC上显示Rstudio中的多边形颜色没有问题,但某些web浏览器和旧版本的Rstudio拒绝用颜色填充多边形,即使地图的所有其他方面都很好

问题是我的调色板由一个带有alpha通道的十六进制代码矢量组成(最后两个数字,指定透明度)。从十六进制代码中删除alpha通道解决了我的问题。也许值得检查一下你的颜色向量是否包含alpha,如果包含alpha,根据我自己问题的答案(上面的链接),用类似于
gsub(“{2}$”,“”,你的颜色向量)的东西删除它


看起来您的颜色在示例代码中并没有包含alpha,但在完整代码中可能有问题。这可以解释为什么示例代码有效,而完整代码无效。也许有什么需要调查的?很抱歉,我无能为力,我知道这有点像是瞎猜,不是一个完整的解决方案。

有什么办法可以做到这一点吗?嗨@alistaire,我添加了一些可复制的代码;)。提前谢谢。当我运行您的代码时,我看到三种颜色(阿根廷、巴西和澳大利亚)@MLavoie您是对的。那是一种奇怪的行为。当我单独运行这段代码时,它就工作了。但是,如果在整个代码中运行此代码,则不会显示颜色。包的某些函数似乎覆盖了一些传单函数?似乎忽略了函数addPolygons:/。