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
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)
【描画されたグラフ】
”散布図”scatterplotは、"hue="で設定することでカテゴリ別に色分けすることが可能になります。
またscatterplotの中では、x,y軸の最大値、最小値の設定および、凡例の設定ができないため別途設定する必要があります。
まとめ
今回はSeabornを使ったグラフ作成方法についてまとめました。
可視化ライブラリMatplotlibと比較して、綺麗なグラフが書けるという良さがあるので、できる限り使用していきたいですね