quando voglio usare labels
e colors
parametri con addLegend()
funzione all'interno di un shinyApp
la leggenda viene visualizzato in scala, come potete vedere qui sotto. Ma se eseguo il rendering della mappa solo con leaflet
al di fuori dello shinyApp
, le etichette vengono visualizzate correttamente in linea.
Ho visto this post con lo stesso problema ma il loro non è un esempio riproducibile quindi ho deciso di pubblicare la mia domanda.etichette leggenda non la visualizzazione in linea quando si utilizzano etichette e colori in carta volantino a lucido
- display errato (cruscotto lucido)
- corretta visualizzazione (foglio standalone)
feci un esempio riproducibile :
# ----- Load and install missing packages
packages<-c("shiny","shinydashboard","leaflet")
new.packages <- packages[!(packages %in% installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages)
lapply(packages, require, character.only = TRUE)
rm(list = c("new.packages","packages"))
# ----- Reproductible Example
# ----- UI
header <- dashboardHeader(title = "Repoductible Example")
sidebar <- dashboardSidebar(
sidebarMenu(
menuItem("map", tabName = "map", icon = icon("globe",lib="font-awesome"))
)
)
body <- dashboardBody(
tabItems(
tabItem(tabName= "map",
column(width=12,
leafletOutput("mapExmpl", width="100%",height=600)))
)
)
ui <- dashboardPage(header, sidebar, body,skin="blue")
# ----- Server
server <- function(input, output) {
labels=c("Label1","Label2","Label3","Label4","Label5")
colors<-c(rgb(243,87,26,maxColorValue=256)
,rgb(225,205,19,maxColorValue=256)
,rgb(62,3,79,maxColorValue=256)
,rgb(17,126,147,maxColorValue = 256)
,rgb(61,255,80,maxColorValue=256))
output$mapExmpl<-renderLeaflet({
leaflet()%>%addTiles(
)%>%
addLegend("bottomright", colors = colors, labels =labels ,
title = "Typo",
opacity = 1
)
})
}
shinyApp(ui,server)