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()

ツリーマップ

ツリーマップを描画するにはtreemap関数を使います。

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

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

continent(大陸)が親で、country(国)が子となるツリーマップを描画します。

数値はpop(人口)を設定しています。

[Google Colaboratory]

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

[実行結果]

ツリーマップの特定の階層をクリックすると、その階層がドリルダウンして描画されます。

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

[実行結果(Europeを選択)]