まるっとワーク

統計・機械学習・電子工作など気になることを残していきます

Python:seabornを使ったグラフ作成まとめ

Pythonから利用できる可視化ライブラリ、Seabornのグラフの細かい設定
まとめました。
Seabornライブラリは、他の可視化ライブラリ Matplotlibと設定の仕方が違う所もあるので、たまに誤ってイライラしてしまいます・・
完全に自分用な感じもありますが記録を残します。

開発環境について

$wmic os get caption
>Microsoft Windows 10 Pro

$wmic os get osarchitecture
>64ビット

$python -V
Python 3.7.6

目次

グラフを作成する

1. Seabornをインストールする。

 以下コードを実行。

$pip install seaborn


2. データを用意する。

今回はサンプルとして、標準のデータセットirisを使用します。

iris = sns.load_dataset("iris")


3. グラフ(散布図)を描画する。

今回は2行2列の計4グラフを作成します。

 ①散布図
 ②カテゴリ別散布図
 ③折れ線グラフ
 ④散布図+線形回帰

fig, ((ax1, ax2),(ax3, ax4)) = plt.subplots(nrows=2,ncols=2,#グラフ個数の設定
                               figsize=(15, 15),#グラフサイズ設定
                               sharex=False,sharey=False)#グラフラベルの共有有無
sns.set_style("whitegrid") #グラフスタイルの設定
sns.despine(left=False, bottom=False)#軸の削除 Trueで削除

#散布図 (1行1列の設定)

sns.scatterplot(x="sepal_length", y="sepal_width",#対象ラベル選択
                marker="o", #マーカースタイルの設定
                s=30,#プロットサイズ設定
                color="green",#プロットカラー設定
                data=iris,#対象データ
                ax=ax1)


#カテゴリ別散布図 (1行2列の設定)
sns.scatterplot(x="sepal_length", y="sepal_width",#対象ラベル選択
                hue="species",#カテゴリごとに分けてプロット
                size="species",#カテゴリごとにプロットサイズを分ける
     sizes=(30, 100),#サイズの最小値と最大値を設定
                style="species",#カテゴリごとにプロットスタイルを変更する
                s=30,#プロットサイズ設定
                data=iris,#対象データ
                ax=ax2)

ax2.set(xlabel="sepal_length1", ylabel="sepal_width1",#軸ラベル名設定
        xlim=(4,8), ylim=(1,5),#軸レンジ設定
        xticks=[4, 5, 6, 7, 8], yticks=[1, 2, 3, 4, 5])#軸ラベル名設定

ax2.legend(loc='upper left',#凡例位置基準
           bbox_to_anchor=(0.8,1))#凡例位置設定

#折れ線グラフ (2行1列の設定)
sns.lineplot(x="sepal_length", y="sepal_width",#対象ラベル選択
             hue="species",#カテゴリごとに分けてプロット
             size="species", #カテゴリごとにプロットサイズを分ける
     sizes=(1, 3),#サイズの最小値と最大値を設定
             style="species",#カテゴリごとにプロットスタイルを変更する
             data=iris,#対象データ
             ax=ax3)

#散布図+線形回帰 (2行2列の設定)
sns.regplot(x="sepal_length", y="sepal_width",#対象ラベル選択
            marker=".", #マーカースタイルの設定
            scatter_kws={"s": 30},#マーカーサイズの設定
            color="green",#マーカーカラーの設定
            ci=None,#信頼区間の表示
            data=iris,#対象データ
            ax=ax4)

【描画されたグラフ】
f:id:toku_dango:20210403221017p:plain
  
”散布図”scatterplotは、"hue="で設定することでカテゴリ別に色分けすることが可能になります。
またscatterplotの中では、x,y軸の最大値、最小値の設定および、凡例の設定ができないため別途設定する必要があります。

まとめ

今回はSeabornを使ったグラフ作成方法についてまとめました。
可視化ライブラリMatplotlibと比較して、綺麗なグラフが書けるという良さがあるので、できる限り使用していきたいですね