Plotly Express①(インタラクティブなグラフ)

Plotly Express

Ploty Expressはplotly.pyのラッパーで、簡潔なコードでデータを可視化できます。

Ploty Expressは以下のような機能をもち、多次元のデータを高い表現力で可視化できます。

  • 複数種類のグラフを組み合わせた可視化
  • ファセットによる可視化
    データを分割して複数のグラフに可視化
  • アニメーションによる可視化
    データを分割してフレームに描画して可視化

データの読み込み

gapminderデータセットを読み込みます。

[Google Colaboratory]

1
2
3
4
import plotly.express as px

gapminder = px.data.gapminder()
gapminder.head()

[実行結果]

では一人当たりのGDP(gdpPercap列)平均寿命(lifeExp列)を可視化していきます。

pandasでの可視化

まずpandasplotメソッドを使って可視化を行います。

logxオプションにTrueを指定し、X軸は対数で表示しています。

[Google Colaboratory]

1
2
%matplotlib inline
gapminder.plot.scatter(x="gdpPercap", y="lifeExp", logx=True, xlim=[100, 1e6])

[実行結果]

上記の散布図では一人あたりGDP平均寿命の関係は分かるものの、具体的な値は座標から読み取るしかありません。

また国名(country列)人口(pop列)など、ほかの列の情報はこのグラフから読み取ることはできません。

Express Plotlyでの可視化

Plotly Expressを使って可視化を行います。

[Google Colaboratory]

1
2
3
4
5
6
7
8
px.scatter(
gapminder,
x="gdpPercap",
y="lifeExp",
log_x=True,
hover_name="country",
width=800 # グラフの横幅
).show()

[実行結果]

上図はpandasで作成したグラフと同じグラフのように見えますが、特定の要素にカーソルを合わせると、下記の図のようにホバーツールが表示されます。

[実行結果]

ホバーツールからは要素の値が確認でき、各座標の情報に加えて国名も見て取ることができます。