Hi è possibile utilizzare conditionalPanel
a fare questo, incorporare tutte le immagini, ma solo quello che hanno verrà visualizzato TRUE
alla condizione:
tabPanel("Live Images",
conditionalPanel(condition = "input.image_type == 'img_type1'",
img(src = "img_type1.jpeg")
),
conditionalPanel(condition = "input.image_type == 'img_type2'",
img(src = "img_type2.jpeg")
)
)
e cambiare il nome del vostro input image.type
-image_type
perché .
ha un significato speciale in Javascript (come tra input
e image_type
).
Se si dispone di un sacco di immagini, si può sempre fare qualcosa di simile:
tabPanel("Live Images",
lapply(X = seq_len(10), FUN = function(i) {
conditionalPanel(condition = paste0("input.image_type == 'img_type", i, "'"),
img(src = paste0("img_type", i, ".jpeg"))
)
})
)
Ad esempio, con immagini di questo post da tsperry (si può trovare su rbloggers troppo), si può fare :
library("shiny")
ui <- fluidPage(
tabsetPanel(
tabPanel("Live Images",
# 50 images to display
lapply(X = seq_len(50), FUN = function(i) {
# condition on the slider value
conditionalPanel(condition = paste0("input.slider == ", i),
# images are on github
img(src = paste0("https://raw.githubusercontent.com/pvictor/images/master/",
sprintf("%04d", i), "plot.png"))
)
}),
sliderInput(inputId = "slider", label = "Value", min = 1, max = 50, value = 1,
animate = animationOptions(interval = 100, loop = TRUE))
)
)
)
server <- function(input, output) {
}
shinyApp(ui = ui, server = server)
Quando si invia l'URL dell'immagine dal reattivo, si sta effettuando un trasferimento dal server al client tramite JavaScript. Questi dati devono essere decompressi dal client e utilizzati per trasformare il documento, il tutto richiede tempo. Quali sono i tuoi requisiti? L'immagine deve essere caricata dinamicamente? Esiste un insieme finito di immagini che potrebbero essere caricate? – sdgfsdh
@sdgfsdh L'immagine deve essere caricata dinamicamente in base all'input dell'utente (input $ image.type), e sì c'è un insieme finito di immagini che possono essere caricate. – maia