Jon*_*nny 5 r rstudio leaflet shiny
我正在使用 RStudio 开发的新传单包部署一个 Shinyapp。关于某些元素的在线文档似乎并不多 - 就我而言,我需要指定图例显示因子级别的顺序。通常,我会通过在绘图命令之前指定级别来执行此操作(例如在 ggplot2 中):
df$name <- factor(df$name, levels = sort(df$name))
Run Code Online (Sandbox Code Playgroud)
但是,这似乎不适用于传单中的图例。下面是一个 MWE(NB Africa geojson 文件可以在这里下载)。您将看到图例顺序不是按字母顺序排序的,正如人们通常所期望的那样。我的问题是如何做到这一点。
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)
Run Code Online (Sandbox Code Playgroud)