Plotly Bubble Charts 描き方まとめ

plotly使い方

 Plotly で 描ける3次元グラフシリーズもついに第10弾!!
今回は、Bubble charts の描き方 についてまとめていきます!

 これまでに Scatter Plots として 3次元の散布図を説明していきましたが、今回の記事で紹介する Bubble Charts は散布図のプロット点の大きさを変更できるように拡張したような図です!

スポンサーリンク

3Dバブルチャート 基本編

 3Dバブルチャートの基本設定としては、下記要素を設定すれば OKです!
x, y, z 座標 の設定はもちろんのこと、mode は 'markers' (点のプロット) とするところまでは、散布図 (Scatter Plots)と同じですが、バブルチャートとの違いは markerの設定にあります。

 marker では、プロットする点についての設定ができる場所ですが、ここで size を設定することで それに対応した点のサイズの設定をすることができます!

go.Scatter3d(
    x = 'x座標', y = 'y座標', z = 'z座標',
    mode='markers',
    marker=dict(
        size= '点のサイズのリスト',
    )
) 

Sample code

import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Scatter3d(
    x = [1, 2, 3],
    y = [3, 2, 1],
    z = [3, 2, 1],
    mode='markers',
    marker=dict(
        size=[30,20,10],
    )
) )

スポンサーリンク

3Dバブルチャート 応用編

 このブログでも何度も取り上げている 大陸・地域別の平均寿命を元にしたデータについてもグラフ化することもできます!
下の図は、Plotlyで公式にまとめられている図・コードをベースにして作成したものです。ここでは 各プロット点の大きさが平均寿命の値によって可視化することができるようになっていることがわかります!!

Sample Code

import plotly.graph_objects as go
import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminderDataFiveYear.csv')

start, end = 750,1500

fig = go.Figure()
fig.add_trace(go.Scatter3d(
    x=df['year'][start:end],
    y=df['continent'][start:end],
    z=df['pop'][start:end],
    text=df['country'][start:end],
    mode='markers',
    marker=dict(
        sizemode='diameter',
        sizeref=750,
        size=df['gdpPercap'][start:end],
        color = df['lifeExp'][start:end],
        colorbar_title = 'Life<br>Expectancy',
    )
))


fig.update_layout(height=800, width=800,
                  title='Examining Population and Life Expectancy Over Time')

fig.show()

コメント

タイトルとURLをコピーしました