[BUG] `dcc.Graph` `figure` prop may include Plotly.js `_inputArray` for typed arrays
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 50/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- javascript, numpy, python
- Domaine
- data-visualization
Piste de recherche
Commencez par exécuter l’application Dash d’exemple et inspecter la figure dcc.Graph avant et après le survol, en vous concentrant sur les données de tableaux typés et le champ _inputArray. Suivez le traitement des payloads de la figure et du callback autour de dcc.Graph et de Plotly.js. C’est terminé lorsque le comportement choisi pour _inputArray est implémenté de manière cohérente, que le comportement de customdata avec les tableaux typés a été pris en compte et que la taille du payload a été vérifiée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
When a dcc.Graph figure data contains typed arrays (for example int8, float32, etc.), the figure can include a Plotly.js internal field _inputArray
In the example below, the _inputArray is included after user interaction but not when the figure is first rendered.
_inputArray duplicates bdata and also includes decoded data, increasing callback payload size and overhead for large datasets.
Possible fixs:
- strip
_inputArrayin dcc.Graph before updating thefigureprop. But that might be considered a breaking change since some people are now using_inputArrayin callbacks. - Have an option to not encode np arrays when using dash. This will also fix the issue of
customdatanot being available isclickData,hoverDataif they are np arrays
Other related issues:
- Need a way to covert the typed arrays so the data is usable in a dash callback: https://github.com/plotly/dash/issues/3307
When app first renders (no _inputArray):
After hover (with _inputArray):
Sample App:
from dash import Dash, html, dcc, Input, Output
import numpy as np
import plotly.express as px
import json
app = Dash()
data = np.random.normal(0, 1, 250)
fig = px.histogram(data, nbins=20)
app.layout = html.Div([
dcc.Graph(id="graph", figure=fig),
html.Pre(id="fig-data")
])
@app.callback(
Output("fig-data", "children"),
Input("graph", "figure"),
Input("graph", "hoverData"),
)
def debug(figure, hoverData):
return json.dumps(figure["data"][0]["x"], indent=4)
if __name__ == "__main__":
app.run(debug=True)
- Langage dominant
- Python
- Étoiles
- 18.8k
- Forks
- 2.8k
- Merge moyen
- 13 h 28 min
- PR mergées (30 j)
- 20
Préparer son environnement
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.
Autres issues de plotly/plotly.py
-
P3 size: 1 task
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
plotly/plotly.py#5769 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
P3 size: 1 task
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
bug P1
Difficulté 1/5 Moins d'une heure Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
feature P3
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
feature P3
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
plotly/plotly.py#3859 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de plotly/plotly.py
Issues similaires
-
correction metadata
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
acl-org/acl-anthology#10104 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug status/needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
prowler-cloud/prowler#12885 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Bug in GaussianTailProbabilityCalibrator: running_statistics=False still uses a windowed varianceOuvertebug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
selimfirat/pysad#107 ·
Les mainteneurs répondent en général sous 1 jour
-
bug ci-failure high priority
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
vllm-project/vllm-omni#8194 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour