seabornサンプルギャラリー解説(Line plots on multiple facets)

seabornを活用する上で、公式サイトのギャラリーが勉強になりそうなので解説してみました。

第5弾は、relplot関数を使って、seaborn付属のニューロンに関するデータを可視化してみます。

参考にしたのはこちらです。

# ライブラリ読み込み
import seaborn as sns

# スタイルを設定(この場合は目盛りを入れる設定)
sns.set_theme(style="ticks")

# seabornにデフォルトで用意されているニューロンに関するデータを読み込む
dots = sns.load_dataset("dots")

# カラーパレットの設定(rocketは幅広い範囲のデータのヒートマップを出力する際に適している。_rは反転の意味)
palette = sns.color_palette("rocket_r")

# 与えられたデータを元に折れ線グラフを出力。
sns.relplot(
    data=dots, x="time", y="firing_rate", hue="coherence", size="choice", col="align",
    kind="line", size_order=["T1", "T2"], palette=palette, height=5, aspect=.75,
    facet_kws=dict(sharex=False)
)

sns.relplotについては、与えれらたデータからグラフを描画してくれます。各引数の説明をします。(詳細はこちら

  • data:取り扱うデータ
  • x:グラフのX軸にする項目
  • y:グラフのY軸にする項目
  • hue:グラフの中で色分けしたい項目。
  • size:グラフの中でサイズ分けしたい項目。
  • col:どの項目で横軸方向にグラフを出力するか。今回の例ではalignで分けようとしています。
  • kind:グラフの種類を指定。選択肢はscatter(散布図)かline(折れ線グラフ)。
  • size_order:sizeに対してラベルを設定。
  • palette:グラフのカラーパレットを設定。
  • height:グラフの高さを指定。
  • aspect:高さに対する横の比率を設定。
  • facet_kws:FacetGridに渡すパラメータを指定。今回の例ではsharexをFalseに設定することでグラフ間でX軸のレンジの取り方を別々にしている。

覚えておくと色々と便利ですね!