编辑 - 在尝试之前
observeEvent
解:
根据你想要绘制的确切内容,可能会出现这种情况
facet_grid(. ~year)
并不是
facet_grid(. ~input$year)
。
如果
facet_grid(. ~input$year)
不是你想要的,那么……
你可以尝试一下
observeEvent
从闪亮的包装:
observeEvent(input$year, {
output$scatterplot <- renderPlot({
input$year
ggplot(pigs,
aes(x = sow_count, y = species, col = species)) +
geom_point() +
facet_grid(. ~year)
})
})
</code>
基本上每当对象
input$year
更改,您渲染一个新的情节。
您的示例将如下所示:
library(shiny)
library(ggplot2)
pigs <- read.csv(“pigs_data.csv”)
Define UI for application
ui <- fluidPage(
Application title
titlePanel(“Pig Breeding”),
sidebarLayout(
sidebarPanel(
#Allows user to choose a year which changes the distribution of plot points
selectInput(inputId = "year",
label = "Choose a year:",
choices = c(2016, 2017, 2018),
selectize = FALSE
)
),
# Show a plot of the generated distribution
mainPanel(
plotOutput("scatterplot")
)
)
)
Define server logic
server <- function(input, output) {
observeEvent(input$year, {
output$scatterplot <- renderPlot({
input$year
ggplot(pigs,
aes(x = sow_count, y = species, col = species)) +
geom_point() +
facet_grid(. ~year)
})
})
}
Run the application
shinyApp(ui = ui, server = server)
</code>
我希望这适合你:)