我有actionBotton
从数据集mtcars
的前5列中随机选取一列并绘制它。
现在actionBotton
可以完成它的工作,但是当应用程序启动时,图表不会在第一个位置绘制。
启动Shiny应用程序时是否有任何方法可以绘制它。
library(shiny)
server <- function(input, output) {
X = eventReactive(input$plot,{
mtcars
})
output$plot = renderPlot({
i = sample(1:5,1)
plot(X()[,i],ylab=names(mtcars)[i])
})
}
ui <- fluidPage(
actionButton("plot","randomly plot"),
plotOutput("plot")
)
shinyApp(ui = ui, server = server)
答案 0 :(得分:3)
您可以添加条件是未单击按钮。请注意,该按钮用作计数器,因此如果未单击该按钮,则该值将为0.
library(shiny)
server <- function(input, output) {
X = eventReactive(input$plot,{
mtcars
})
output$plot = renderPlot({
i = sample(1:5,1)
if(input$plot == 0){
return(plot(mtcars[,i],ylab=names(mtcars)[i]))
}
plot(X()[,i],ylab=names(mtcars)[i])
})
}
ui <- fluidPage(
actionButton("plot","randomly plot"),
plotOutput("plot")
)
shinyApp(ui = ui, server = server)