Я использую данные акций из Quantmod
и ищу способ использования DateRangeInput
в блестящем приложении, чтобы выбор пользователя был отражен на графике ggplot
.
ui <- fluidPage(
titlePanel("Stock App"),
mainPanel(
selectInput("stock", "Select a Stock(s):", choices = unique(all_stocks_df$Stock), multiple = TRUE, selected = "AAPL"),
dateRangeInput("daterange", "Select a timeframe to be plotted", start = "2010-01-01", end = "2020-01-01")),
tabsetPanel(
tabPanel("Line Graph", plotOutput("line"))
)
)
server <- function(input, output, session) {
output$line <- renderPlot({
stock_subset <- subset(all_stocks_df, Stock == input$stock)
ggplot () +
geom_line(aes(x=input$daterange, y=Close, color = Stock),
data = stock_subset)
})
}
shinyApp(ui=ui, server=server)
Фрейм данных all_stocks_df
, с которым я генерирую график, выглядит следующим образом:
Date Close Stock
2019-12-31 293.65 AAPL
...
2007-01-03 11.97 AAPL
2019-12-31 1847.84 AMZN
...
2007-01-03 38.70 AMZN
Когда я ввожу input$daterange
в качестве аргумента X для моего ggplot
линейного графика , это не работает. В идеале пользователь должен изменить временные рамки, а график обновится.