annotation coordinates do not respect log scaling
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 18.8k
- Forks
- 2.8k
- Merge moyen
- 16 h 26 min
- PR mergées (30 j)
- 21
Description
When adding annotations to a plot that uses log scaling, the annotation coordinates need to be rescaled to represent the log10 of the actual coordinates. While this is documented behavior, it is rather counterintuitive and should be fixed.
Seemingly no other axis-types (date, for instance) needs special treatment but works without modifying the underlying data.
Minimum example demonstrating the point, i.e. label_y is 4 but plotted at 10^4:
df = pd.DataFrame(data={'x':[1,2,3,4],
'y':[1,4,9,16],
})
fig = px.line(df,
x='x',
y='y',
log_y=True,
log_x=True,
)
annotations = []
fig.for_each_trace(
lambda trace: annotations.append(dict(x=np.log10(np.sqrt(trace.x[0]*trace.x[-1])),
y=np.sqrt(trace.y[0]*trace.y[-1]),
text=f'({np.sqrt(trace.x[0]*trace.x[-1])},{np.sqrt(trace.y[0]*trace.y[-1])})',))
)
fig.update_layout(annotations=annotations,
width=300,
height=300,
)
fig.show()

Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Aucun fichier source ni aucun test n’est indiqué. Commencez par reproduire l’exemple minimal avec des axes x et y à échelle logarithmique, puis suivez la façon dont les annotations et les coordonnées des axes sont gérées ; le travail sera terminé lorsque les annotations accepteront de véritables coordonnées de données sur des axes logarithmiques, tandis que les dates et les autres types d’axes continueront de fonctionner sans modifier les données sous-jacentes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- plotly, 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