Я создаю POC, где обновление в реальном времени отразится на моем блестящем приложении.Идея состоит в том, чтобы построить частотное распределение данных, которые генерируются с сервера.Поскольку у меня еще нет доступа к серверу, я смоделировал создание данных, которые я передаю на свой график.Я правильно вижу данные на своей консоли, но в моем приложении ничего не отображается.Я уверен, что есть кое-что, что я пропускаю.Я думаю, что причина, по которой я не могу просмотреть график, заключается в том, что данные обновляются быстрее, чем скорость рендеринга.Есть ли способ изменить это.
library(shiny)
library(magrittr)
library(plotly)
ui <- shinyServer(fluidPage(
plotOutput("plot")
))
alarms = c("NodeDown","GrowthRate","DecayRate","DiskFull","ServiceDown","Planned_shutdown","etc.....etc","ServerOutage",
"No Casue")
server <- shinyServer(function(input, output, session){
# Function to get new observations
get_new_data <- function(){
new = sample(alarms,1)
# data <- new %>% rbind %>% data.frame
return(new)
}
# Initialize my_data
my_data <<- get_new_data()
# Function to update my_data
update_data <- function(){
my_data <<- c(get_new_data(), my_data)
}
output$plot <- renderPlotly({
invalidateLater(1000, session)
update_data()
# print(my_data)
dd = update_data()
dd = as.data.frame(table(dd))
print(dd)
plot_ly(dd, x = ~dd, y = ~Freq)
})
# Plot the 30 most recent values
# output$first_column <- renderPlot({
# print("Render")
# invalidateLater(1000, session)
# update_data()
# print(my_data)
# plot(X1 ~ 1, data=my_data[1:30,], ylim=c(-3, 3), las=1, type="l")
# })
})
shinyApp(ui=ui,server=server)