具有Shiny的动态反应图数

时间:2014-06-30 19:03:05

标签: r plot shiny

我正在尝试向页面添加可变数量的绘图。

对于我添加的每个页面,我还想添加一些控制框。将所有这些添加到页面不是问题,当我尝试使用输入框来控制绘图时出现问题。在绘图定义中无法识别输入值。

我该如何做到这一点?

runApp(list(
ui = shinyUI(
  bootstrapPage(
    numericInput('n.plots', "Number of Plots", 2),
    uiOutput('plots')
  )
),
server = shinyServer(function(input, output, session){
  for(i in 1:max.plots){
    local({
      my.i <- i
      plotname <- paste('plot',my.i, sep = '')
      output[[plotname]] <- renderPlot({
# Work in plot (not reactive though)
#         hist(rnorm(100, input[[paste('mean_', my.i)]], input[[paste('sd_', my.i)]]))
# Doesn't work
        hist(rnorm(100, input[[paste('mean_', my.i)]], input[[paste('sd_', my.i)]]))
      })
    })
  }

  output$plots <- renderUI({
    out <- ''
    for(i in 1:input$n.plots){
      additional <- fluidRow(

        column(width = 4,
               wellPanel(
                 h5(paste('Thing', i)),
                 numericInput(paste('mean_',i, sep = ''), 'Mean', 100),
                 numericInput(paste('sd_', i, sep = ''), 'SD', 25)
               )
        ),
        column(width = 8,
               plotOutput(paste('plot',i, sep = ''))
        )
      )
      out <- paste(out, additional)
    }
    HTML(out)
  })
})
)
)

0 个答案:

没有答案