Я использую потоковую передачу сюжета, но мне нужно удалить первую метку оси x, она остается неизменной, пока все остальные меняются.Я использую R Shiny
Идея состоит в том, что значения отображаются и удаляются по мере того, как проходят минуты и секунды
Пожалуйста, есть ли способ, как удалить их?Воспроизводимый код и изображение ниже.
library(shiny)
library(plotly)
rand <- function() {
runif(1, min=1, max=9)
}
t <- format(Sys.time(), "%H:%M:%S")
ui <- fluidPage(
#includeCSS("styles.css"),
headerPanel(h1("Streaming in Plotly: Multiple Traces", align = "center")),
br(),
div(actionButton("button", "Extend Traces"), align = "center"),
br(),
div(plotlyOutput("plot"), id='graph')
)
server <- function(input, output, session) {
p <- plot_ly(
type = 'scatter',
mode = 'lines'
) %>%
add_trace(
x = c(t,t),
y = c(rand(),rand()),
line = list(
color = '#25FEFD',
width = 3
)
) %>%
add_trace(
x = c(t,t),
y = c(rand(),rand()),
line = list(
color = '#636EFA',
width = 3
)
) %>%
layout(
yaxis = list(range = c(0,10))
)
output$plot <- renderPlotly(p)
observeEvent(input$button, {
while(TRUE){
Sys.sleep(1)
t <- format(Sys.time(), "%H:%M:%S")
plotlyProxy("plot", session) %>%
plotlyProxyInvoke("extendTraces", list(x=list(list(t), list(t)),y=list(list(rand()), list(rand()))), list(1,2))
}
})
}
shinyApp(ui, server)