Sluggish performance when using add_annotations
Aperta
Nessuno ha ancora preso questa issue.
- Lingua principale
- R
- Stelle
- 2.7k
- Fork
- 641
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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)
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia eseguendo l’esempio R Shiny fornito con plotly, quantmod e 500 punti candlestick, quindi esegui il profiling della chiamata add_annotations. L’issue non indica file sorgente né test; il lavoro è completato quando la causa delle scarse prestazioni delle annotazioni è stata identificata e risolta senza compromettere l’esempio.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- r
- Ambito
- data-visualization, performance
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 35/100