プロットのスタイルと色の変更

Seabornで学ぶデータ可視化入門

Content Team

DataCamp

なぜカスタマイズするのか?

スタイルを変更する理由:

  • 個人の好み
  • 可読性の向上
  • 解釈の誘導
Seabornで学ぶデータ可視化入門

図のスタイルの変更

  • 「スタイル」は背景と軸を含む
  • プリセット: "white", "dark", "whitegrid", "darkgrid", "ticks"
  • sns.set_style()
Seabornで学ぶデータ可視化入門

デフォルトの図スタイル("white")

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

男性性アンケートのポイントプロット

Seabornで学ぶデータ可視化入門

図スタイル: "whitegrid"

sns.set_style("whitegrid")

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

白グリッド背景のポイントプロット

Seabornで学ぶデータ可視化入門

その他のスタイル

sns.set_style("ticks")

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

ティック付きポイントプロット

Seabornで学ぶデータ可視化入門

その他のスタイル

sns.set_style("dark")

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

暗い背景のポイントプロット

Seabornで学ぶデータ可視化入門

その他のスタイル

sns.set_style("darkgrid")

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

暗いグリッド背景のポイントプロット

Seabornで学ぶデータ可視化入門

パレットの変更

  • 「パレット」はプロットの主要要素の色を変更する
  • sns.set_palette()
  • プリセットまたはカスタムパレットを使用可能
Seabornで学ぶデータ可視化入門

発散型パレット

発散型パレットの4例

Seabornで学ぶデータ可視化入門

例(デフォルトパレット)

category_order = ["No answer", 
                  "Not at all",
                  "Not very", 
                  "Somewhat", 
                  "Very"]

sns.catplot(x="how_masculine",
            data=masculinity_data,
            kind="count",
            order=category_order)

plt.show()

アンケート回答のカウントプロット

Seabornで学ぶデータ可視化入門

例(発散型パレット)

sns.set_palette("RdBu")

category_order = ["No answer", 
                  "Not at all",
                  "Not very", 
                  "Somewhat", 
                  "Very"]

sns.catplot(x="how_masculine",
            data=masculinity_data,
            kind="count",
            order=category_order)

plt.show()

発散型パレットのカウントプロット

Seabornで学ぶデータ可視化入門

順序型パレット

順序型パレットの4例

Seabornで学ぶデータ可視化入門

順序型パレットの例

順序型パレットを使った馬力対mpgの散布図

1 Waskom, M. L. (2021). seaborn: statistical data visualization. https://seaborn.pydata.org/
Seabornで学ぶデータ可視化入門

カスタムパレット

custom_palette = ["red", "green", "orange", "blue",
                  "yellow", "purple"]

sns.set_palette(custom_palette)

カスタムカラー名パレット

Seabornで学ぶデータ可視化入門

カスタムパレット

custom_palette = ['#FBB4AE', '#B3CDE3', '#CCEBC5', 
                  '#DECBE4', '#FED9A6', '#FFFFCC', 
                  '#E5D8BD', '#FDDAEC', '#F2F2F2']

sns.set_palette(custom_palette)

カスタム16進数コードパレット

Seabornで学ぶデータ可視化入門

スケールの変更

  • 「コンテキスト」はプロット要素とラベルのスケールを変更する
  • sns.set_context()
  • 小→大: "paper", "notebook", "talk", "poster"
Seabornで学ぶデータ可視化入門

デフォルトコンテキスト: "paper"

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

notebookコンテキストのポイントプロット

Seabornで学ぶデータ可視化入門

大きなコンテキスト: "talk"

sns.set_context("talk")

sns.catplot(x="age", 
            y="masculinity_important",
            data=masculinity_data,
            hue="feel_masculine",
            kind="point")

plt.show()

大きなコンテキストのポイントプロット

Seabornで学ぶデータ可視化入門

練習しましょう!

Seabornで学ぶデータ可視化入門

Preparing Video For Download...