Я просмотрел учебники R Shiny и stackoverflow для ответов, связанных с моим запросом.Я обычно жду 3-4 дня, чтобы решить проблему с кодированием, прежде чем пытаюсь опубликовать сообщение.
У меня есть анимированный ползунок в моем пользовательском интерфейсе, который проходит через временной интервал в столбце (столбец a).Я пытаюсь создать анимированный линейный график, который отображает значения y другого столбца (столбца b), соответствующего nrow () этого временного интервала.Слайдер работает отлично, но я не смог построить вывод.
Возможно, я пропустил некоторые понятия, связанные с реактивностью, в приложении Shiny.Цените любые рекомендации, которые я могу получить, связанные с моим запросом.Я буду рад опубликовать больше информации, если это необходимо.
a <- c(0,1,2,3,4,5,6)
b <- c(50,100,40,30,20,80)
mydata <- cbind(a,b)
mydata <- as.data.frame(mydata())
ui <- fluidPage (
headerPanel("basic app"),
sidebarPanel(
sliderInput("slider",
label = "Time elapsed",
min = 0,
max = nrow(mydata()),
value = 1, step = 1,
animate =
animationOptions(interval = 200, loop = TRUE))
),
mainPanel(
plotlyOutput("plot")
)
)
server <- function(input, output) {
sliderValues <- reactive({
data.frame(
Name = "slider",
Value = input$slider)
})
output$plot <- renderPlot({
x<- as.numeric(input$slider)
y <- as.numeric(b[x])
ggplot(mydata,aes_string(x,y))+ geom_line()
})
}
Так же, как демонстрация, я хотел, чтобы анимированный сюжет получился таким, но в соответствии со значениями слайдера пользовательского интерфейса:
library(gganimate)
library(ggplot2)
fake <- c(1,10)
goods <- c(11,20)
fakegoods <- cbind(fake,goods)
fakegoods <- data.frame(fakegoods)
ggplot(fakegoods, aes(fake, goods)) + geom_line() + transition_reveal(1, fake)