geom_text() re-renders every frame in animation if there are values outside of bounds
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
I've found that when using animation in a ggplot object that has a limited view using scale_y_continuous(), only a (seemingly random) set of the visible text values rerender on every frame. Gif and reprex below.

text_data <- tibble::tribble(
~text,~x,~y,
"test1",1,1,
"test2",1,2,
"test3",2,1,
"test4",2,2
)
point_data <- tibble::tribble(
~x,~y,
1,1,
2,1,
3,1,
1,2,
2,2,
3,2
)
p <- ggplot() +
geom_text(aes(x = x,y = y,label = text),data = text_data) +
geom_jitter(aes(x = x,y = y,frame = x,color = y),data = point_data) +
scale_y_continuous(limits = c(0,1.5)) #view limited to 1.5 and thus does not show the text_data observations in y position of 2
ggplotly(p) %>%
animation_opts(redraw = F,frame = 2000,transition = 2000)
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
Eseguire il reprex R fornito con ggplotly e l’intervallo limitato di scale_y_continuous() per riprodurre il comportamento dell’animazione. Tracciare il percorso di rendering dell’animazione di ggplotly per i valori di geom_text al di fuori dei limiti; il lavoro è completato quando il testo visibile rimane stabile tra i frame invece di essere sottoposto nuovamente al rendering ripetutamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- r
- Ambito
- data-visualization
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100