Используя блестящие, вы можете сделать следующее:
library(shiny)
library(leaflet)
ui <- fluidPage(
leafletOutput('map'),
# Add custom CSS & Javascript;
tags$style(".leaflet-control-layers-expanded{color: red}")
)
server <- function(input, output, session) {
output$map <- renderLeaflet({
leaflet(quakes) %>%
addTiles() %>%
addMarkers() %>%
addLayersControl(
baseGroups = c("OSM (default)", "Toner", "Toner Lite"),
overlayGroups = c("Quakes", "Outline"),
options = layersControlOptions(collapsed = FALSE)
)
})
}
shinyApp(ui, server)
Строка ключа tags$style(".leaflet-control-layers-expanded{color: red}")
.При необходимости измените красный, используя Имя цвета, Шестнадцатеричный цветовой код или Цветовой код RGB.
Обновление
Для отображения на панели RStudio Viewer (т. Е. Без блестящего) выможет сделать следующее:
library(leaflet)
library(htmltools)
m <- leaflet(quakes) %>%
addTiles() %>%
addMarkers() %>%
addLayersControl(
baseGroups = c("OSM (default)", "Toner", "Toner Lite"),
overlayGroups = c("Quakes", "Outline"),
options = layersControlOptions(collapsed = FALSE)
)
browsable(
tagList(
tags$style(".leaflet-control-layers-expanded{color: red}"),
m
)
)
Адаптировано с здесь .
Дальнейшее обновление
В зависимости от необходимости различныхцвета:
В качестве отступления form.leaflet-control-layers-list
является альтернативой для .leaflet-control-layers-expanded
. Внутри этого есть разделение между .leaflet-control-layers-base
и .leaflet-control-layers-overlays
, как показано ниже:
library(shiny)
library(leaflet)
ui <- fluidPage(
leafletOutput('map'),
# Add custom CSS & Javascript;
tags$style(".leaflet-control-layers-base{color: red}",
".leaflet-control-layers-overlays{color: blue}")
)
server <- function(input, output, session) {
output$map <- renderLeaflet({
leaflet(quakes) %>%
addTiles() %>%
addMarkers() %>%
addLayersControl(
baseGroups = c("OSM (default)", "Toner", "Toner Lite"),
overlayGroups = c("Quakes", "Outline"),
options = layersControlOptions(collapsed = FALSE)
)
})
}
shinyApp(ui, server)
К сожалению, я не нашел, как раскрасить по конкретным линиям, так как CSS, похоже, не различает.