plotly / plotly/plotly.R

ggplotly returns group_by_ error for ggplot with undefined dataframe

Aberta
#1,682 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
R
Estrelas
2.7k
Forks
641
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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"

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece executando os dois exemplos de ggplotly da issue e compare os casos que funcionam com os que falham. Rastreie como o ggplotly trata os mapeamentos inline de aes e o valor de group representado por waiver. O trabalho estará concluído quando ambos os exemplos forem renderizados sem o erro group_by_ e o comportamento das linhas agrupadas for preservado.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
r
Domínio
data-visualization
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
48/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.