根据滑块输入更新Shiny Plots

时间:2017-08-03 08:19:33

标签: shiny slider reactive

我在Shiny Dashboard Page上的四个方框中制作了四个Plots。我希望根据Slider的输入在一个框中动态地表示所有四个图,范围从1到4.所有图都是不同的,不相关。我希望知道这样做的基本语法。谢谢

1 个答案:

答案 0 :(得分:1)

正如@Pork Chop评论你应该看看the website which is going to help you in asking the question on stackoverflow

当你是这个社区的新手时,我会给你一个提示,告诉你如何使用滑块输入更新闪亮的情节。

以下是代码:

library(shiny)
library(shinydashboard)
library(ggplot2)

data <-  data.frame(x=c(1,2,3,4),y=c(10,11,12,13))
ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(sliderInput("slider","Slider", min=1, max=4, step =1, value=1)),
  dashboardBody(
    fluidRow(column(6,plotOutput('plot1'),plotOutput('plot2')),
             column(6,plotOutput('plot3'),plotOutput('plot4'))
                         )))
server <- function(input, output, session) { 
  output$plot1 <- renderPlot({
    ggplot(data,aes_string(x=input$slider, y="y"))+geom_point(size=5)
  })
  output$plot2 <- renderPlot({
    ggplot(data,aes_string(y=input$slider, x="y"))+geom_point(size=5)
  })

  output$plot3 <- renderPlot({
    ggplot(data,aes_string(y=input$slider, x="y"))+geom_line(size=5)
  })

  output$plot4 <- renderPlot({
    ggplot(data,aes_string(x=input$slider, y="y"))+geom_line(size=5)
  })
}

shinyApp(ui, server)

下次不要忘记创建一些示例代码和示例数据!