add sort feature for icicle chart
オープン
まだ誰も着手していません。
feature
P3
- 主要言語
- Python
- スター
- 18.8k
- フォーク
- 2.8k
- 平均マージ
- 16時間 26分
- マージ済み PR(30日)
- 21
説明
I want to use icicle chart to show function call stacks, the MWE is as the following
import pandas as pd
import numpy as np
import plotly.express as px
data = np.array(
[
["main", "A-Func", None, 1],
["main", "C-Func", "sub1", 1],
["main", "C-Func", "sub2", 1],
["main", "B-Func", None, 1],
["main", "D-func", "sub1", 1],
["main", "D-func", "sub2", 1],
["main", "D-func", "sub3", 1],
]
)
df = pd.DataFrame(data, columns = ['Level0', 'Level1', 'Level2', 'Weight'])
fig = px.icicle(df, path=['Level0', 'Level1', 'Level2'], values='Weight')
fig.update_traces(root_color="lightblue")
fig.show()
This is yielding a graph sorted by both Weight and Name
If I added sort parameter
fig.update_traces(root_color="lightblue", sort=False)
The weight is not sorted, however the name are still sorted
What I want to achieve is the nature order of these function calls as I create the numpy object
main
|
+--- A-Func
|
+--- C-Func
| |
| +--- sub1
| |
| +--- sub2
|
+--- B-Func
|
+--- D-Func
|
+--- sub1
|
+--- sub2
|
+--- sub3
Is there some option I can use to achieve this?
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
plotly.express.icicle と update_traces(sort=False) を使用し、pandas と NumPy の MWE で問題を再現します。まず、icicle チャートがソートと階層の順序をどのように処理するかを追跡します。関数呼び出しとその子要素について、重みや名前によるソートを行わずに入力順を保持するオプションが実装され、示された例のカバレッジが追加されたら作業完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- numpy, pandas, python
- 領域
- data-visualization
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100

