Feature request / Focus reset on Treemap during live updates
まだ誰も着手していません。
- 主要言語
- JavaScript
- スター
- 18.3k
- フォーク
- 2k
- 平均マージ
- 2日 12時間
- マージ済み PR(30日)
- 28
説明
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
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、ids、parents、labels 配列が変更されたときの Plotly.js treemap の更新を、説明されているライブ更新シナリオと現在の focus/pathbar の動作を基準に追跡します。更新後も選択されたノードとその子ノードが存在する場合に、そのノードがフォーカスされたままになり、ナビゲーションと pathbar の整合性が保たれれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript, react
- 領域
- data-visualization, frontend
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 38/100