为plotOutput设置刷子值被动反应

时间:2016-11-06 11:41:28

标签: r shiny

有没有办法可以有效地更改plotOutput()的参数?让我们说我有一个输入选择器,它允许我选择绘图类型(散点图,'p'或线图'l')。对于散点图,我想将brush设置为"rowBrush",对于线图,我想将其设为"colBrush"direction = "x"。提前致谢!

1 个答案:

答案 0 :(得分:0)

这是一个例子。

library(shiny)

ui <- fluidPage(

  titlePanel("Dynamic brush"),

  sidebarLayout(
    sidebarPanel(
      selectInput("plot_type", "Plot type", c("p", "l"), selected = "p")
    ),

    mainPanel(
      uiOutput("plot_out")
    )
  )
)

server <- function(input, output) {

  output$plot_out <- renderUI({
    brush <- NULL
    if (input$plot_type == "p") {
      brush <- "rowBrush"
    } else if (input$plot_type == "l") {
      brush <- "colBrush"
    }
    plotOutput("plot", brush=brush)
  })   

  output$plot <- renderPlot({
    plot(mtcars$mpg, mtcars$cyl, type=input$plot_type )
  })

}

shinyApp(ui = ui, server = server)