Я пытаюсь создать приложение Shiny, которое загружает plotly
, только если пользователь помечает флажок для интерактивных фигур.Тем не менее, то, что я пробовал до сих пор, заканчивает тем, что чертит обе цифры независимо от значения флажка:
require('plotly')
require('shiny')
ui <- fluidPage(
tabsetPanel(
id = 'mainTab',
tabPanel(
'conditionally interactive tab',
checkboxInput(
inputId = 'interactive', label = 'Interactive figure', value = FALSE
),
conditionalPanel(
condition = 'input.interactive == TRUE',
plotlyOutput('interactivePlot')
),
conditionalPanel(
condition = 'input.interactive == FALSE',
plotOutput('staticPlot')
)
),
tabPanel('unrelated tab')
)
)
server <- function(input, output, session){
output$interactivePlot <- renderPlotly({
plot_ly(iris, x = ~Petal.Length, y = ~Sepal.Length)
})
output$staticPlot <- renderPlot({
plot(Sepal.Length ~ Petal.Length, iris)
})
}
shinyApp(ui = ui, server = server)
Причины этого - более длительное время загрузки при использовании плотной печати и неудобство плотной печати на портативном устройстве.устройства (пытаться прокрутить сюжет, реагирующий на прикосновения, сложно).Я бы предпочел не иметь для них отдельных вкладок, но я понимаю, что если ничего не работает, это может быть вариантом.