Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Adding N annotations takes O(N^2) time

Ouverte
#5,316 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
python

Piste de recherche

Commencez par exécuter la reproduction de l’issue et profiler les appels répétés à fig.add_annotation. Suivez le chemin des annotations de Python Figure pour identifier où le coût cumulé augmente, puis vérifiez que l’ajout de nombreuses annotations ne présente plus de comportement quadratique avec le même script.

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

Description

bug P2 performance

Plotly is unreasonably slow to add more than a few hundred annotations to a plot. This code

import time

import plotly


fig = plotly.graph_objects.Figure()

NUM_ANNOTATIONS=1000

start_time = time.monotonic()
for i in range(NUM_ANNOTATIONS):
    fig.add_annotation(
        x=i,
        y=time.monotonic() - start_time,
        text=str(i),
    )
    print(i)
fig.update_layout(
    xaxis_range=[0,NUM_ANNOTATIONS],
    yaxis_range=[0,time.monotonic() - start_time],
    xaxis_title_text="# Annotations",
    yaxis_title_text="Cumulative Time [s]",
)
fig.show()

produces this plot

Image
Langage dominant
Python
Étoiles
18.8k
Forks
2.8k
Merge moyen
13 h 28 min
PR mergées (30 j)
20

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.

Autres issues de plotly/plotly.py

Toutes les issues de plotly/plotly.py

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

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