R: удалить лишнее значение оси X (график) - PullRequest
0 голосов
/ 31 января 2019

Я использую потоковую передачу сюжета, но мне нужно удалить первую метку оси x, она остается неизменной, пока все остальные меняются.Я использую R Shiny

Идея состоит в том, что значения отображаются и удаляются по мере того, как проходят минуты и секунды

Пожалуйста, есть ли способ, как удалить их?Воспроизводимый код и изображение ниже.

Example

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)
...