plotly / plotly/plotly.R

Sluggish performance when using add_annotations

Offen
#1,747 0 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
R
Sterne
2.7k
Forks
641
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Adding "add_annotations" to many points on any plot, cause slow performance.
Please see the below minimal example

library(shiny)
library(plotly)
library(quantmod)

ui <- fluidPage(
  plotlyOutput("plot"),
  verbatimTextOutput("event")
)

server <- function(input, output) {

  output$plot <- renderPlotly({
    getSymbols("AAPL",src='yahoo')

    # basic example of ohlc charts
    df <- data.frame(Date=index(AAPL),coredata(AAPL))
    df <- tail(df, 500)
    p <- df %>%
      plot_ly(x = ~Date, type="candlestick",
              open = ~AAPL.Open, close = ~AAPL.Close,
              high = ~AAPL.High, low = ~AAPL.Low) %>%
      add_annotations(x = ~Date , y = ~AAPL.Open, text = "Tslow",xref = "x", yref = "y", yref = "y",ax = -30, ay = 40,
                      arrowcolor = 'rgb(0, 153, 51)', arrowsize = 2, arrowwidth = 1, arrowhead = 4)  %>%
      layout(title = "Basic Candlestick Chart",xaxis = list(rangeslider = list(visible = F)))
    p
  })

  output$event <- renderPrint({
    d <- event_data("plotly_hover")
    if (is.null(d)) "Hover on a point!" else d
  })
}

shinyApp(ui, server)

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, das bereitgestellte R Shiny-Beispiel mit plotly, quantmod und 500 Candlestick-Punkten auszuführen, und profiliere anschließend den Aufruf add_annotations. Das Issue nennt keine Quelldateien oder Tests; als erledigt gilt es, wenn die Ursache der langsamen Annotations-Performance identifiziert und behoben wurde, ohne das Beispiel zu beschädigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
r
Bereich
data-visualization, performance
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.