Plotly Express⑮(サンバーストグラフ)

サンバーストグラフは階層をもつデータを円または円弧の面積で表現します。

内側の円が最上位の階層となり、円の外側に隣接している円弧が下位の階層となります。

上位階層が下位階層の合計値となる場合と、上位階層と下位階層が独立した値をもつ場合があります。

データの読み込み

まずはデータを読み込みます。

準備するデータはgapminderデータセット(年・国ごとの平均寿命と一人当たりのGDP)の2007年分を抽出したものとなります。

[Google Colaboratory]

1
2
3
4
5
import plotly.express as px

gapminder = px.data.gapminder()
gapmider_2007 = gapminder[gapminder["year"] == 2007]
gapmider_2007.head()

サンバーストグラフ

サンバーストグラフを描画するにはsunburst関数を使います。

sunburst関数の引数は下記の通りです。

  • path
    データの階層をリストで指定。
  • names
    セクタごとのラベルを指定。
  • parents
    親セクタのラベルを指定。最上位の階層に対する場合は空の文字列を指定。
  • values
    セクタごとの値を指定。
  • branchvalues
    値を合計する方法を指定。
    “total”:親が子の階層すべての合計値
    “remainder”:子が親とは別の値

continentが親で、countryが子となるサンバーストを描画します。

[Google Colaboratory]

1
2
3
px.sunburst(
gapminder_2007, path=["continent", "country"], values="pop"
).show()

[実行結果]

サンバーストグラフの特定の階層をクリックすると、その階層がドリルダウンして描画されます。

親の階層をクリックすると元に戻ります。

[実行結果]