【Seaborn】set_style関数による見た目の変更#
※記事内に商品プロモーションを含むことがあります。
公開日
Seabornのset_style
関数を用いてグラフの背景色や罫線などの見た目を変更する方法を解説します。set_style
関数の最初の引数、またはstyle
引数にスタイルを文字列で渡します。指定できるスタイルは以下の通りです。
ticks
: 白色の背景、罫線なし、目盛り線あり(デフォルト)darkgrid
: 灰色の背景、罫線ありwhitegrid
: 白色の背景、罫線ありdark
: 灰色の背景、罫線なしwhite
: 白色の背景、罫線なし
set_style
関数で設定したスタイルは、それ以降のグラフにも継続して設定されます。スタイルを元に戻す場合、以下を実行してデフォルトのticks
スタイルにします。
sns.set_style("ticks")
なお、sns.reset_defaults()
関数を使用してスタイルを元に戻そうとした場合、rcParamsというMatplotlibの設定が全てデフォルトに戻され、Seabornの設定が消去されます。そのため、グラフのサイズなどがSeabornのデフォルト設定から変化してしまいますので推奨しません。
ticks#
デフォルトのスタイルであるticks
を示します。軸に目盛り線が表示されます。表示するデータには、Seabornのirisデータセットを使用しています。
import seaborn as sns
df = sns.load_dataset("iris")
sns.scatterplot(data=df, x="sepal_length", y="petal_length")
<Axes: xlabel='sepal_length', ylabel='petal_length'>
![../_images/a8140e035aa20d111415f87b4314df0aeaaa41ff5c6e876f9d5f2861d62b3c13.png](../_images/a8140e035aa20d111415f87b4314df0aeaaa41ff5c6e876f9d5f2861d62b3c13.png)
darkgrid#
darkgrid
スタイルの例を以下に示します。灰色の背景、かつ罫線ありとなります。
sns.set_style("darkgrid")
sns.scatterplot(data=df, x="sepal_length", y="petal_length")
<Axes: xlabel='sepal_length', ylabel='petal_length'>
![../_images/2baf9600cb149d1dd08076d64de1addd4218032b9f2a7559da3b53296b084cc8.png](../_images/2baf9600cb149d1dd08076d64de1addd4218032b9f2a7559da3b53296b084cc8.png)
whitegrid#
whitegrid
スタイルの例を以下に示します。白色の背景、かつ罫線ありとなります。
sns.set_style("whitegrid")
sns.scatterplot(data=df, x="sepal_length", y="petal_length")
<Axes: xlabel='sepal_length', ylabel='petal_length'>
![../_images/83d6b34a60f674fc8653a0dec79d78d58622dcb582e7fdbdb14966b7650fa858.png](../_images/83d6b34a60f674fc8653a0dec79d78d58622dcb582e7fdbdb14966b7650fa858.png)
dark#
dark
スタイルの例を以下に示します。灰色の背景、かつ罫線なしとなります。
sns.set_style("dark")
sns.scatterplot(data=df, x="sepal_length", y="petal_length")
<Axes: xlabel='sepal_length', ylabel='petal_length'>
![../_images/5539ce9f2203f05d70c039be07b81fc076e53cd136b34517b7bf8c1747b4bf0b.png](../_images/5539ce9f2203f05d70c039be07b81fc076e53cd136b34517b7bf8c1747b4bf0b.png)
white#
white
スタイルの例を以下に示します。白色の背景、かつ罫線なしとなります。
sns.set_style("white")
sns.scatterplot(data=df, x="sepal_length", y="petal_length")
<Axes: xlabel='sepal_length', ylabel='petal_length'>
![../_images/69879ebc8c3c97e38d328ddc2952f49e160b44ae24863b9246ea045e89bd145b.png](../_images/69879ebc8c3c97e38d328ddc2952f49e160b44ae24863b9246ea045e89bd145b.png)