【发布时间】:2017-08-03 17:35:48
【问题描述】:
我在 Shiny Dashboard Page 的四个框中制作了四个图。我希望根据从 1 到 4 的 Slider 的输入在一个框中动态表示所有四个图。所有图都是不同的并且不相关。我想知道这样做的基本语法。谢谢
【问题讨论】:
我在 Shiny Dashboard Page 的四个框中制作了四个图。我希望根据从 1 到 4 的 Slider 的输入在一个框中动态表示所有四个图。所有图都是不同的并且不相关。我想知道这样做的基本语法。谢谢
【问题讨论】:
正如@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)
下次别忘了创建一些示例代码和示例数据!
【讨论】: