plotly / plotly/plotly.py

clicktoshow not working for annotations on log scale

Offen
#2,581 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug P3
Vorherrschende Sprache
Python
Sterne
18.8k
Forks
2.8k
Ø Merge
16 Std. 26 Min.
Gemergte PRs (30 T.)
21

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Führen Sie zunächst das bereitgestellte Python-Beispiel mit logarithmischen Achsen aus und vergleichen Sie es mit der Version mit linearen Achsen. Verfolgen Sie, wie die Koordinaten der Annotationen neu skaliert werden und wie clicktoshow Klicks auf annotierte Punkte behandelt, einschließlich des zugehörigen Kontexts in #2580. Als erledigt gilt die Aufgabe, wenn die Annotation beim Anklicken in logarithmisch skalierten Plots umgeschaltet wird, ohne die lineare Skalierung zu beeinträchtigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
data-visualization
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.