plotly / plotly/plotly.R

Tooltip of ggplotly's geom_area not updating along the x axis

Aperta
#2,270 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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

Recently, the hover text/tooltip when using geom_area() only shows the values for the first element along the x axis - in the example below, the geom_col graph has the expected tooltips, but the geom_area is stuck with the first value.

library(tidyverse)
economics %>% {ggplot(., aes(x=date,y=pop)) + geom_area()} %>% plotly::ggplotly()
economics %>% {ggplot(., aes(x=date,y=pop)) + geom_col()} %>% plotly::ggplotly()

The problem seems to be in ggplotly() as the native plot_ly() approach still works as expected:

plotly::plot_ly(x=~economics$date, y=~economics$pop, type='scatter', mode='none', stackgroup='one')

In a more complicated graph (with fill groups and facets) other elements seem to update, but the x and y values are stick at the first element still - again, compare geom_area to geom_col results:

economics_status <- economics %>% mutate(pop = pop - unemploy) %>% pivot_longer(cols = c(pop,unemploy), names_to="status", values_to="number")

economics_status %>% 
    {ggplot(., aes(x=date,y=number, fill=status)) + geom_area()} %>% plotly::ggplotly()

economics_status %>% 
    {ggplot(., aes(x=date,y=number, fill=status)) + geom_col()} %>% plotly::ggplotly()

I'm getting the error using R 4.2.2, plotly version 4.10.1. Rolling back using devtools, I am getting the same error back to plotly 4.9.4 - but anything earlier won't load any output at all, so presumably clashing with something else in the ecosystem. It may be relevant that htmlwidgets is at 1.6.2 and htmltools is 0.5.5.

However, all worked fine with R 4.1.3 and plotly 4.10.0 ... which had htmlwidgets at 1.5.4 and htmltools at 0.5.3. But rolling back htmlwidgets with the other settings above does not fix things.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo gli esempi economici tramite ggplotly(), confrontando geom_area() con geom_col() e con l’approccio nativo di plot_ly(). Traccia la conversione di geom_area() e la gestione dei dati dei tooltip; il lavoro è completato quando i valori x e y si aggiornano lungo l’asse per i grafici ad area semplici, riempiti e a faccette.

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
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.