軸を編集する

Pythonで学ぶPlotlyによるデータ可視化入門

Alex Scriven

Data Scientist

データセット

$$

  • 集計済みのペンギンデータセット:
spec av_flip_length
Adelie 189.953642
Chinstrap 195.823529
Gentoo 217.186992

 

  • 🚫 specav_flip_length
Pythonで学ぶPlotlyによるデータ可視化入門

デフォルトの軸タイトル

$$

fig = px.bar(penguin_flippers, 
            x="spec", 
            y="av_flip_length")
fig.show()

 

種別ごとのペンギンのフリッパー長の単純な棒グラフ

Pythonで学ぶPlotlyによるデータ可視化入門

軸タイトルの編集

  • plotly の「ショートカット」関数:
fig.update_xaxes(title_text="Species")
fig.update_yaxes(title_text="Average Flipper Length")

$$

  • update_layout() での実装
fig.update_layout(dict(
    xaxis=dict(title=dict(text="Species")),
    yaxis=dict(title=dict(text="Average Flipper Length"))
))
Pythonで学ぶPlotlyによるデータ可視化入門

プロットを整える

軸タイトルを更新した単純な棒グラフ

Pythonで学ぶPlotlyによるデータ可視化入門

どの方法を使う?

 

  • ⭐ 基本は「ショートカット」メソッドを使用

$$

  • ⭐⭐ さらに制御するには update_layout() を使用:
    • フォントのサイズ・書体・色・角度を調整可

$$

$$

詳しくは Plotly ドキュメント を参照

Pythonで学ぶPlotlyによるデータ可視化入門

軸範囲の編集

軸タイトルを更新した単純な棒グラフ

  • y軸を150から最大値(少し余裕を追加)までに設定
fig.update_layout(dict(
    yaxis=dict(range=[150, penguin_flippers["av_flip_length"].max() + 30]
    )))
Pythonで学ぶPlotlyによるデータ可視化入門

新しい軸範囲

短くした特定範囲の単純な棒グラフ

Pythonで学ぶPlotlyによるデータ可視化入門

スケールの問題

一部のデータ点が他よりもはるかに大きいとどうなる?

  • 億万長者数の上位10か国

国別の億万長者数の表

Pythonで学ぶPlotlyによるデータ可視化入門

スケールの課題

 

fig = px.bar(billionaire_data, 
            x="Country", 
            y="Number Billionaires")
fig.show()

億万長者数の基本的な棒グラフ

Pythonで学ぶPlotlyによるデータ可視化入門

対数スケール

  • 値の差が大きいデータの可視化に使用

対数プロットの例

  • 目盛は前の10倍(10, 100, 1000, …)
Pythonで学ぶPlotlyによるデータ可視化入門

データで対数を使う

$$

  • Plotly には log_ylog_x 引数がある
fig = px.bar(billionaire_data, 
            x="Country", 
            y="Number Billionaires",
            log_y=True)

fig.show()

$$

億万長者データの対数スケール棒グラフ

Pythonで学ぶPlotlyによるデータ可視化入門

対数スケールの注意点

💡 可視化方法は常に受け手を考慮して選ぶ

聴衆へグラフを提示

Pythonで学ぶPlotlyによるデータ可視化入門

練習してみましょう!

Pythonで学ぶPlotlyによるデータ可視化入門

Preparing Video For Download...