plotly / plotly/plotly.py

clicktoshow not working for annotations on log scale

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

Personne n'a encore pris cette issue.

bug P3
Langage dominant
Python
Étoiles
18.8k
Forks
2.8k
Merge moyen
16 h 26 min
PR mergées (30 j)
21

Description

The click event does not seem to be triggered when clicking on an annotated point (even after waiting for the hover text to show up indicating that the point "has been found"). In the example below, the annotation cannot be toggled. With linear axes scaling (dropping the log_x|y and not rescaling x|y=np.log10...) the annotation toggling works as expected.

This bug is probably related to the (forced / unnatural) requirement to rescale the (x,y) coordinates of annotations (see #2580)

x = np.arange(1,5)
df = pd.DataFrame(data={'x':x,'y':x**2,'z':x**3,})

fig = px.line(df,
              x='x',
              y=['y','z'],
              log_x=True,
              log_y=True,
              )

annotations = []
fig.for_each_trace(
    lambda trace: annotations.append(dict(x=np.log10(trace.x[-1]),
                                          y=np.log10(trace.y[-1]),
                                          text=f'({trace.x[-1]:g},{trace.y[-1]:g})',
                                          clicktoshow='onoff',
                                          visible=True,
                                          opacity=0.5,
                                          ))
)

fig.update_layout(annotations=annotations,
                  width=300,
                  height=300,
                  )
fig.show()

image

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 l’exemple Python fourni avec des axes logarithmiques et comparez-le à la version avec des axes linéaires. Suivez la manière dont les coordonnées des annotations sont remises à l’échelle et dont clicktoshow gère les clics sur les points annotés, en incluant le contexte associé dans #2580. C’est terminé lorsque l’annotation bascule lors d’un clic sur des graphiques à échelle logarithmique sans provoquer de régression de l’échelle linéaire.

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

Évaluation

Stack technique
python
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
42/100

Recevez les nouvelles issues par e-mail

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