Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

ggplotly() creates a wrong legend in some cases

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

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
r

Direção de pesquisa

Comece executando o exemplo reproduzível em R da issue e compare as legendas do ggplot2 e do ggplotly. Investigue a conversão do ggplotly de escalas de cores manuais e verifique se a legenda convertida corresponde aos rótulos declarados Left e Center, sem entradas extras.

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

Descrição

Given

library(ggplot2)
library(plotly)
d1 <- data.frame(X=1:10, Y= (1:10)^2, b=paste0("B",1:10),d="d1")
d1$Y2 <- d1$Y+2
gg2 <- ggplot(data=d1, aes(label=b)) +
  geom_point(aes(x=X, y=Y, col="blue")) +
  geom_line(aes(x=X, y=Y2, col="orange")) +
    scale_color_manual(values=c("blue","orange"),
                       labels=c("Left","Center"),
                       name="") 

print(gg2) results in:

Image

But
ggplotly(gg2)

results in:

Image

I know a more conventional code such as:

d1 <- data.frame(X=1:10, Y= (1:10)^2, b=paste0("B",1:10),position="left")
d2 <- data.frame(X=1:10, Y= (1:10)^2 + 2, b=paste0("B",1:10),position="center")
d <- rbind(d1,d2)
gg2 <- ggplot(data=d, aes(label=b)) +
  geom_point(data=d[d$position=="left",],aes(x=X, y=Y,col=position)) +
  geom_line(data=d[d$position=="center",],aes(x=X, y=Y,col=position)) +
  scale_color_manual(values=c("blue","orange","red"),
                     labels=c("Left","Center"),
                     name="") 
gg2
ggplotly(gg2)

results in similar legends, but I wonder if the 1st example is not uncovering a bug in ggplotly()

Image

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

Preparar o ambiente

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.

Mais de plotly/plotly.R

Todas as issues de plotly/plotly.R

Issues semelhantes

Mais issues de R

Receba novas issues na sua caixa de entrada

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