R shinydashboard поместит изображение в элемент коробки - PullRequest
1 голос
/ 09 марта 2020

У меня есть приложение Shiny dashboard, которое отображает изображение на основе фильтра, поэтому в зависимости от выбранного значения в фильтре изображение отображается внутри блока. Однако некоторые изображения слишком велики и отображаются за пределами рамки, то есть коробка не содержит всего изображения.

Если я пытаюсь отобразить одно и то же изображение с помощью img (src = "imagename", height = 200), изображение автоматически помещается в рамку. Как мне повторить то же самое, но с помощью функции imageOutput ()?

Вот фрагмент кода:

library("shiny")
library("shinydashboard")

sidebar <- dashboardSidebar()

body <- dashboardBody(
    fluidRow(
        box(imageOutput("image")) # IMAGE TOO BIG AND BOX CANNOT COMPLETELY CONTAIN IT
        img(src="imagename", height = 200) # Image adjusted to box size

    )
)


ui <- dashboardPage(dashboardHeader(title = "Example"),
                    sidebar,
                    body
)

server <- function(input, output) {

 output$image <- renderImage({

    filename <- normalizePath(file.path(paste('www/',imagename, '.png', sep='')))
        list(src = filename)},
        deleteFile = FALSE)
}) 
}

shinyApp(ui, server)

1 Ответ

1 голос
/ 09 марта 2020

Вы можете установить высоту в списке, который вы возвращаете, с помощью renderImage:

output$image <- renderImage({
  filename <- normalizePath(file.path(paste0('www/', imagename, '.png')))
  list(
    src = filename, 
    height = 200
  )
}, deleteFile = FALSE)
...