plotly / plotly/plotly.R

Please implement geom_GeomXsidebar() and related geoms

Abierto
#2,330 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
R
Estrellas
2.7k
Forks
641
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza rastreando cómo ggplotly gestiona geom_GeomXsidebar y geom_GeomYsidebar, incluidos los puntos de entrada geom_xsidehistogram y geom_ysidehistogram. Compara la salida normal de ggplot con el gráfico convertido y verifica que los histogramas laterales se rendericen en ggplotly, conservando el texto de hover existente del geom_tile principal.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
plotly, r
Área
data-visualization
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.