plotly / plotly/plotly.R

Update Button badly mixes legenditems of plot (`updatemenus`)

Ouverte
#2,071 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
R
Étoiles
2.7k
Forks
641
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Hi, I´ve come across a weird thing:

I tried the plotly "Update Button" on a plot with a legend. At first everything seems as expected. But as soon as you toggle the plot with help of the update button, the legend is mixed in odd ways. Sometimes the legend even does not correspond to the data at all (e.g. change sensors to 4 in reprex).

example

Heres an example to play around

library(plotly)

df <- data.frame(
  car =    c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2), # two cars
  sensor = c(1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5), # with 5 sensors
  x =      c(1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2), # sensor data
  y =      c(2, 1, 3, 5, 6, 5, 3, 2, 1, 6, 7, 3, 8, 1, 5, 9, 2, 2, 5, 5)
)

updatemenus <- list(
  list(
    type = "buttons",
    buttons = list(
      list(
        label = "Car 1",
        method = "update",
        args = list(list(visible = list(T, F)))),
      list(
        label = "Car 2",
        method = "update",
        args = list(list(visible = list(F, T))))
    )
  )
)

fig <- plot_ly(type = 'scatter', mode = "lines")
fig <- fig |> add_lines(~x, ~y, data = df[df$car == 1,], name = ~sensor)
fig <- fig |> add_lines(~x, ~y, data = df[df$car == 2,], name = ~sensor, visible = FALSE)
fig <- fig |> layout(
  updatemenus = updatemenus,
  legend = list(title = list(text = "<b> Sensor </b>"))
  )

fig

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par exécuter le reprex R fourni avec les boutons de mise à jour de plotly en faisant varier le nombre de capteurs. Suivez l’effet des mises à jour de visibilité de updatemenus sur la légende, puis vérifiez que chaque bouton laisse des éléments de légende correspondant aux données actuellement visibles et que l’exemple existant n’affiche plus d’entrées mélangées.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
r
Domaine
data-visualization
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.