ggplotly returns group_by_ error for ggplot with undefined dataframe
Abierto
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
The following ggplot2 command fails when executed in ggplotly:
ggplot()+geom_line(aes(x = c(1,2,3,4), y = c(1,2,3,4), group = c(1,1,2,2))) #works
ggplotly(ggplot()+geom_line(aes(x = c(1,2,3,4), y = c(1,2,3,4), group = c(1,1,2,2)))) #fails
#>Error in UseMethod("group_by_") :
#> no applicable method for 'group_by_' applied to an object of class "waiver"
This error can be addressed by assigning the data to a data frame and explicitly mapping the variables to the data frame within the ggplot call:
df <- data.frame(x = c(1,2,3,4), y = c(1,2,3,4), group = c(1,1,2,2))
ggplotly(ggplot()+geom_line(data = df, aes(x = x, y = y, group = group))) #works
ggplotly(ggplot()+geom_line(aes(x = df$x, y = df$y, group = df$group))) #fails
#>Error in UseMethod("group_by_") :
#> no applicable method for 'group_by_' applied to an object of class "waiver"
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza ejecutando los dos ejemplos de ggplotly del issue y compara los casos que funcionan con los que fallan. Traza cómo ggplotly gestiona las asignaciones inline de aes y el valor de group representado por waiver. La tarea estará terminada cuando ambos ejemplos se rendericen sin el error group_by_ y se conserve el comportamiento de las líneas agrupadas.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- r
- Área
- data-visualization
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100