2016-08-24 9 views
1

データセットmtcarsの最初の5つの列から1つの列を無作為に選んでプロットするのはactionBottonです。R Shiny eventReactive action Botton interaction

今では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) 

答えて

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) 

enter image description here

になりますので、カウンターとして、そのボタンの動作に注意してください。