plotly / plotly/plotly.R

Please implement geom_GeomXsidebar() and related geoms

Offen
#2,330 0 Kommentare 0 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

I tried to use plotly on ggplot graph that used geom_xsidehistogram and geom_ysidehistorgram, but when I did I got a warning that plotly was not yet implemented for geom_GeomXsidebar and geom_GeomYsidebar and suggestion to report it here. It would be lovely if plotly were implemented for these geoms.

My data structure was
master - a data frame containing:

  • region (character)
  • envir_var_elevation (numeric)
  • loggdppc (numeric)
  • value (numeric)
  • reactive_value (numeric)

df_plot - a data frame containing:

  • envir.group (numeric factor)
  • loggdppc.group (numeric factor)
  • value.squish (numeric)
  • reactive_value.mean (numeric)

df_plot was created by taking the data from master binning elevation and loggdppc and then finding the mean in each bin combination.

Here is my plot code

p_elev_income = ggplot(df_plot, aes(x = envir.group, y = loggdppc.group, fill = value.squish,
                                      text = glue("reactive adapt: {reactive_value.mean}"))) + 
    geom_tile() + 
    geom_xsidehistogram(data = master, aes(x = envir_var_elevation, y = after_stat(density)), binwidth = .01, inherit.aes = F) +
    geom_ysidehistogram(data = master, aes(x = after_stat(density), y = loggdppc), binwidth = 0.08, inherit.aes = F) +
    ggside(x.pos = "bottom", y.pos = "left") +
    xlab(xlab_name) +
    ylab("Log GDP per Capita") +
    scale_fill_gradientn(colours = blue_red.colors, 
                         name = scale_name,
                         limits = limits_val,  
                         breaks = breaks_labels_val,
                         labels = breaks_labels_val,
                         values = rescale(rescale_val),
                         na.value = NA
                         ) +
    theme(panel.background = element_rect(fill = 'white', colour = 'grey'),
          ggside.panel.scale.x = 0.2,
          ggside.panel.scale.y = 0.2)

ggplotly(p_elev_income)

Here's what the plot looks like when plotted normally:
Screen Shot 2024-01-11 at 11 11 46 AM

And here's what it looks like when plotted with plotly:
Screen Shot 2024-01-11 at 11 12 18 AM

I was using plotly because I wanted the hover text/tool tip ability, and that functionality did work correctly for me. Unfortunately, the side histograms disappeared. Also for my use case, I only need the hover text/tool tip on the main geom_tile portion of the graphic having it also appear on the side histograms would just be a bonus.

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 nachzuverfolgen, wie ggplotly geom_GeomXsidebar und geom_GeomYsidebar verarbeitet, einschließlich der Einstiegspunkte geom_xsidehistogram und geom_ysidehistogram. Vergleiche die normale ggplot-Ausgabe mit dem konvertierten Plot und überprüfe, dass die seitlichen Histogramme in ggplotly gerendert werden, während der vorhandene Hover-Text des Haupt-geom_tile erhalten bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
plotly, r
Bereich
data-visualization
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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