【问题标题】:Update Shiny Plots based on input from slider根据滑块的输入更新闪亮图
【发布时间】:2017-08-03 17:35:48
【问题描述】:

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

【问题讨论】:

标签: shiny slider reactive


【解决方案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)

下次别忘了创建一些示例代码和示例数据!

【讨论】:

猜你喜欢
  • 2018-04-30
  • 2020-10-06
  • 1970-01-01
  • 2018-03-07
  • 2021-12-14
  • 2020-06-23
  • 2023-04-01
  • 1970-01-01
  • 2021-08-10
相关资源
最近更新 更多