2016-07-05 35 views
6

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)

wrongDisplay

  • corretta visualizzazione (foglio standalone)

correctDisplay

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) 

risposta

4

Una delle ragioni può accadere è quando la pagina web viene ingrandita vale a dire il livello di zoom è superiore al 100%. Assicurati di non essere ingrandito. Premi Control + 0 dalla tastiera per ripristinare lo zoom al 100%. Inoltre, provare a utilizzare un altro browser Web se il problema persiste.

Ho avuto lo stesso stupido problema da quando il mio browser è stato ingrandito (> 100%).

4

Ho avuto lo stesso problema. Nel mio caso, la correzione del CSS della legenda ha risolto il problema:

ui <- bootstrapPage( 
    tags$style(type="text/css", "div.info.legend.leaflet-control br {clear: both;}"), 
... 
)