使用Shiny App中的传单包(RStudio)对图例(对于colorFactor)进行排序

时间:2015-07-26 11:14:14

标签: r leaflet rstudio shiny

我正在使用RStudio开发的新传单包部署shinyapp。似乎没有关于某些元素的在线文档 - 在我的情况下,我需要指定图例显示因子级别的顺序。通常,我会通过在绘图命令之前指定级别来执行此操作(例如在ggplot2中):

df$name <- factor(df$name, levels = sort(df$name))

但是,这似乎与传单中的图例无关。以下是MWE(N.B. Africa geojson文件可以下载here)。您将看到图例顺序不按字母顺序排序,正如人们通常所期望的那样。我的问题是如何做到这一点。

library(shiny)
library(leaflet)

map_africa <- rgdal::readOGR("africa.geo.json", "OGRGeoJSON")

map_africa$name <- factor(map_africa$name, levels = sort(map_africa$name))

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

server <- function(input, output, session) {

  pal <- colorFactor('RdYlBu', map_africa$name)

  output$map <- renderLeaflet({ 

    leaflet(map_africa) %>% 
    addPolygons(stroke = F,
                fillColor = ~pal(name),
                popup = ~name) %>% 
    addLegend(position = 'topright',
              colors = ~pal(name), 
              labels = ~name) 

  })

}

shinyApp(ui, server)

0 个答案:

没有答案