Plotly Express③(バブルチャート)

前回記事に引き続きバブルチャートを表示します。

バブルチャート(大陸ごと)

ファセットを利用すると、データをカテゴリごとに分割して可視化することができます。

facet_col“continent”を指定し、大陸ごとに別のグラフで描画します。(10行目)

[Google Colaboratory]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
facet_fig = px.scatter(
gapminder,
x="gdpPercap",
y="lifeExp",
log_x=True,
hover_name="country",
size="pop",
size_max=40,
color="continent",
facet_col="continent", # 大陸ごとのグラフに分割
width=1200 # グラフの横幅
)
facet_fig.update_xaxes(tickfont={"size": 8}) # X軸ラベルのフォントサイズ
facet_fig.show()

[実行結果]

バブルチャート(年ごと)

データセットには年のデータ含まれています。(これまではすべての年のデータをまとめて描画していました。)

アニメーション機能を使って年ごとのバブルチャートを描画します。(12行目)

[Google Colaboratory]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
animation_fig = px.scatter(
gapminder,
x="gdpPercap",
y="lifeExp",
log_x=True,
hover_name="country",
size="pop",
size_max=40,
color="continent",
facet_col="continent",
width=1200,
animation_frame="year", # 年ごとのデータでアニメーション
)
animation_fig.update_xaxes(tickfont={"size": 8})
animation_fig.show()

[実行結果]

グラフの下に再生ボタンスライダーが表示され、年ごとにバブルチャートを切り替えることができます。

スライダを操作すると、指定した年のデータ描画されます。

まとめ

最初の散布図では以下の2つの情報しか表現できませんでした。

  • 一人あたりのGDP
  • 平均寿命

Plotly Expressでインタラクティブな可視化を行うことにより、次のような情報も合わせて確認できるようになりました。

  • 国名
    ホバーツールで表示。
  • 人口
    バブルの大きさで表示。
  • 大陸名
    バブルの色またはグラフの分割で表示。

  • アニメーションまたはスライドで表示切替。