Python 行列散布図の作成「seaborn」

'22/02/19更新:図中の上にタイトルを記載するコードを追記しました。
 本記事では、下図のような行列散布図を作成して、画像ファイルに保存する雛形コードを載せました。

f:id:HK29:20220219140254j:plain

ちなみに、上図のデータは、機械学習の分類で有名なアイリスデータセットです。seabornで一行で読み込めます。そのコードも記載しています。

f:id:HK29:20210423231010p:plain

■本プログラム

#!/usr/bin/env python
# coding: utf-8

# In[1]:


#import pandas as pd
from matplotlib import pyplot as plt
import seaborn as sns

#df = pd.read_csv('iris.csv')
df = sns.load_dataset('iris')
df


# In[2]:


# 行列散布図
sns.set_context('talk')
ax = sns.pairplot(
    df,
    hue = 'species', # 凡例に表示したい列名を指定(カテゴリ変数)
    palette = 'gnuplot2', # 'tab10' 'magma' 'cool' 'bar' 'gnuplot2'
    kind = 'reg', # 線形近似線を記入
    markers = '.',
    diag_kind = 'kde',
    diag_kws = dict(shade = True),
)
# タイトル表記
ax.fig.suptitle('Iris flower data set', y = 1.0)
# 画像保存時にタイトルなどがはみ出さないように、グラフ領域を調整
plt.subplots_adjust(left=0.1, right=0.81, bottom=0.1, top=0.95)
# 画像保存 pngも可
plt.savefig('Iris.jpg') #plt.show()

以上

<広告>