plotly / plotly/plotly.py

Jupyterlab additional view is not updated

Ouverte
#4,650 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

If I use jupyterlab with plotly, for example with the simple slider example:

import plotly.graph_objects as go
import numpy as np

# Create figure
fig = go.Figure()

# Add traces, one for each slider step
for step in np.arange(0, 5, 0.1):
    fig.add_trace(
        go.Scatter(
            visible=False,
            line=dict(color="#00CED1", width=6),
            name="𝜈 = " + str(step),
            x=np.arange(0, 10, 0.01),
            y=np.sin(step * np.arange(0, 10, 0.01))))

# Make 10th trace visible
fig.data[10].visible = True

# Create and add slider
steps = []
for i in range(len(fig.data)):
    step = dict(
        method="update",
        args=[{"visible": [False] * len(fig.data)},
              {"title": "Slider switched to step: " + str(i)}],  # layout attribute
    )
    step["args"][0]["visible"][i] = True  # Toggle i'th trace to "visible"
    steps.append(step)

sliders = [dict(
    active=10,
    currentvalue={"prefix": "Frequency: "},
    pad={"t": 50},
    steps=steps
)]

fig.update_layout(
    sliders=sliders
)

fig.show()

from the documentation.
Then, I created an additional view in Jupyter Lab. (Actually, I intend to use a similar mechanism for remote communication in university teaching in a different setup.)
If I move the axis origin or the sliders in the original view, only the original view is updated. Analogously, if I use the additional output for changes, only this output will be updated. On the other hand, after reloading the file and saving it, both views are updated after some time.
So, I assume that a model update is not triggered on the other view after a change.

Can you give me a pointer to what or where I should change? (I may make a PR if I have an idea of what to fix, but I am relatively new to the Jupyter code base and not fluent in Python but in Javascript, where I assume the problem is.)
I have seen that there are some filters, so a message to the kernel is not resent to the js side.

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

Reproduisez l’exemple de slider Plotly fourni dans JupyterLab avec une vue supplémentaire, puis suivez le chemin de mise à jour pour les modifications effectuées dans l’une ou l’autre vue. Le travail est terminé lorsque les modifications de l’origine de l’axe et du slider dans une vue mettent à jour l’autre sans nécessiter de rechargement ni d’enregistrement ; l’issue n’indique aucun fichier du dépôt ni aucun test par lesquels commencer.

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

Évaluation

Stack technique
javascript, jupyter-notebook, python
Domaine
data-visualization, frontend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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