闪亮的checkboxGroupInput,其中包含从ggplot生成的选项

时间:2015-08-03 10:03:14

标签: html r checkbox shiny

我试图创建一个复选框,其中的选项是通过ggplot创建的图。在结果中,UI看起来像HTML代码本身,而不是评估HTML代码以显示图表。任何想法如何让checkboxGroupInput显示ggplots?

以下示例代码 -

runApp(shinyApp(
  ui = fluidPage(
    headerPanel("Plot check box"),

    mainPanel(
      uiOutput("plotscheckboxes")
    )
  ),
  server = function(input, output, session) {


    output$plot1 = renderPlot({
      ggplot(mtcars)+geom_point(aes(x=mpg,y=mpg))
    })

    output$plot2 = renderPlot({
      ggplot(mtcars)+geom_point(aes(x=mpg,y=mpg))
    })

    output$plotscheckboxes = renderUI({

      plotlist = list(
        plotOutput('plot1'),
        plotOutput('plot2')
      )


      plotlist2 = do.call(tagList, plotlist)

      # this just produces a list with 1,2, some sort of underlying value for the checkboxGroup     
      finaloptionlist = lapply(
        seq(length(plotlist2)),
        function(x) x
      )
      # the names of the list are what get used in the options so setting the names accordingly as the HTML code of the ggplot rendering
      names(finaloptionlist) = sapply(plotlist2, function(x) paste(x, collapse = "\n"))


checkboxGroupInput("checkGroup", label = h3("Checkbox group"), 
                         choices = finaloptionlist,
                         selected = 1)


    })

  }

))

0 个答案:

没有答案