Feature request / Focus reset on Treemap during live updates
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- JavaScript
- Estrellas
- 18.3k
- Forks
- 2k
- Merge medio
- 2 d 12 h
- PR fusionados (30 d)
- 28
Descripción
Context
I'm using Plotly's treemap in real-time web application where data is updated frequently.
The visualization represents a hierarchical dataset, and I allow users to interact with it by clicking on a bloc to focus on a specific branch
Problem
Currently, every time I update the data (specifically the ids, parents, and labels arrays), the focus resets back to the root of the treemap. This breaks the user experience since the user is forced back to the top level, even if they were navigating deeper into the tree.
Expected Behavior
Ideally, I want the treemap to preserve the current focus when the tree is updated (as long as the selected node and its children are still present in the data). I haven't found a configuration like rootId / focusId option that persists focus across updates in treemaps.
Current workaround
One potential workaround I'm exploring is to reconstruct a filtered version of the tree manually, by :
- Extracting the clicked node and all of its descendants
- Overidding their parents fields so the focused node become the new root
- Updating the plot with this "subtree" only
That should works, but it adds quite a bit complexity to the data processing. In addition, I don't know how to manage pathbar
Request
Is there currently a configuration way to preserve the focus state across data updates in a treemap plot ?
Environment
- Library : Plotly.js (with react class)
- Plot type : treemap
- Use case : real-time updates + interactive navigation
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza rastreando las actualizaciones del treemap de Plotly.js cuando cambien los arrays ids, parents y labels, usando como referencia el escenario de actualización en vivo descrito y el comportamiento actual de focus/pathbar. Se considera terminado cuando el nodo seleccionado sigue enfocado después de las actualizaciones si él y sus nodos hijos todavía existen, mientras la navegación y el pathbar siguen siendo coherentes.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, react
- Área
- data-visualization, frontend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 38/100