【Python】seabornでグラフのスタイルとカラーを操作する

Pythonデータ分析の基礎
スポンサーリンク

Pythonの描画ライブラリseabornのグラフ描画について、これまで扱ってきた中でもその都度スタイルの変更やカラーリングの設定を行ってきました。

ここで一度、グラフのスタイルやカラーの操作をあらためてやっておきます。

また、カラーコードやラインスタイルなどの公式ドキュメントのリンク先もこちらにまとめました。

matplotlibでグラフを描くためのラインスタイル、マーカー、カラーマップのリファレンス
matplotlibでグラフを描く時にラインスタイル、マーカー、カラーマップを指定しますが、どんな値を指定するのか覚えてはいません。公式ドキュメントを探すのにも手間がかかります。そこでここにリファレンス一覧としてリンクをまとめてみました。
スポンサーリンク

スタイルとカラー

まずこれまでと同様にライブラリのインポートとデータの読み込みをしておきましょう。

import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

tips = sns.load_dataset('tips')
tips.head()

スタイル – set_style()

特定のスタイルを設定してみましょう。

sns.countplot(x='sex',data=tips)
sns.set()

まずはこれまでと同じように通常の表示です。

set_style()を使って表示を変えていきます。

sns.set_style('white')
sns.countplot(x='sex',data=tips)

set_style()にwhiteを指定してみます。

グラフの地の部分が白になりました。

sns.set_style('ticks')
sns.countplot(x='sex',data=tips,palette='deep')

こちらはset_style()をticksに、paletteをdeepにしています。

グラフに目盛りの印がついているのがわかります。少しわかりにくいですが、paletteをdeepにしているので若干深みのある色になっています。

set_style()にはdarkgrid, whitegrid, dark, white, ticksがあらかじめ用意されています。辞書データで指定することもできます。

paletteには、deep, muted, pastel, bright, dark, colorblindがデフォルトのテーマとして用意されています。

軸の除去 – despine()

グラフの軸は必要でなければ非表示にすることができます。

軸を削除するにはdespine()を使います。

sns.countplot(x='sex',data=tips)
sns.despine()

上と右側の軸線が無くなりました。

左側の軸を削除するには、left=Trueを指定します。

sns.countplot(x='sex',data=tips)
sns.despine(left=True)

左軸は目盛りだけ残して非表示になっているのがわかります。bottom=Trueも渡せば、下側の線も非表示になります。

サイズとアスペクト

matplotlibのplt.figure(figsize =(width,height))を指定すると、ほとんどのseabornグラフのサイズを変更することができます。

サイズ、アスペクト比などのパラメータを渡すことでも制御できます。

plt.figure(figsize=(12,3))
sns.countplot(x='sex',data=tips)

figsize()を指定しています。

sns.lmplot(x='total_bill',y='tip',height=4,aspect=3,data=tips)

heightとaspectを指定しています。

sns.lmplot(x='total_bill',y='tip',data=tips,hue='sex',palette='coolwarm')

これまでもやってきたのと同様に、hueで性別を指定し、paletteで色分けして表示してみます。

スケールと属性 – set_context()

set_context()を使うことで、デフォルトのパラメータを変更して表示することができます。

sns.set_context('poster',font_scale=2)
sns.countplot(x='sex',data=tips,palette='coolwarm')

set_context()にposterというスタイルを渡しています。font_scaleを指定して文字の大きさを変えています。

set_context()にはpaper、notebook、talk、posterの4つのスタイルを指定することができます。ネーミングから連想できると思いますが、順にデフォルトのテキストが大きくなります。ここで指定したposterだと文字が重なるくらいのものになるので、font_scaleを指定して調整してみました。

スポンサーリンク

最後に

Pythonの描画ライブラリseabornのグラフ描画について、これまで扱ってきた別の投稿の中でもグラフ描画の段階でその都度スタイルの変更やカラーリングの設定を行ってきました。

ここでは、グラフのスタイルやカラーの操作をあらためてみてきました。

set_style()、despine()、set_context()などをみてきました。合わせて、カラーパレットやラインスタイルのコードも確認できるようにしておきましょう。

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