plotly / plotly/plotly.R

ggplotly not rendering geom_ribbon() correctly with NA values

Offen
#1,060 3 Kommentare 7 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

Hi,
ggplotly() creates broken ribbons when there are NAs in the min or max values, although the ribbon is rendered correctly in ggplot alone.

This seems to be alluded to here but since that was 3 years ago I fear it may not be an open issue.

The below is sufficient to illustrate how the plots differ.

Thanks!

library(ggplot2); library(plotly); library(dplyr)
df = data.frame(x = 1:5, y = sin(1:5), min = sin(1:5) + 1, max = sin(1:5)-1) %>%
  rbind(c(6,sin(6),NA, NA))
pl = ggplot(df, aes(x=x, y=y)) + 
  geom_line() + 
  geom_ribbon(aes(min = min, max = max))
pl
ggplotly(pl)

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

Beginnen Sie damit, das bereitgestellte R-Beispiel mit ggplot2 und plotly auszuführen, und vergleichen Sie die Ribbon-Ausgabe von ggplot und ggplotly, wenn die endgültigen Min- und Max-Werte NA sind. Verfolgen Sie anschließend den Konvertierungs- und Rendering-Pfad von ggplotly für geom_ribbon(), und überprüfen Sie dann, dass Ribbons mit NA-Grenzen konsistent mit ggplot gerendert werden, während das bestehende Verhalten für Nicht-NA-Werte erhalten bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
r
Bereich
data-visualization
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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