Python 無料で独習 Matplotlib & Seaborn 入門講座 11_02

Python 無料で独習 Matplotlib & Seaborn 入門講座 11_02

「Seabron」で色々なグラフを作成してみる

前回の続きで
今回もseabornのライブラリのなかに
予め用意されているデータを使用します。
load_datasetメソッドでデータセットを呼び出すことができます。

今回は、「tips」というデータを使用します。

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

tips_data = sns.load_dataset('tips')

回帰直線

回帰直線を含む散布図を作成します。
regplotメソッドで、簡単に作成できます。
引数は、散布図を作成した時と同じです。

plt.figure(figsize=(9,6))

sns.set(style='darkgrid')
sns.regplot(x="total_bill", y="tip", data=tips_data)
plt.show()

散布図にカテゴリー別の回帰直線を表示させます。
ただの散布図ではなく、カテゴリ別にするには、
regplotメソッドではなく、
lmplotというメソッドを使う必要があります。

ここでは、喫煙者か禁煙者かを示す smoker というカラムを使用します。
引数hueに、smokerを渡します。

lmplotでも、replot メソッド同様に
figureメソッドではグラフのサイズを変更できません。
heightaspectで指定します。

sns.set(style='darkgrid')
sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips_data, height=6, aspect=1.5)
plt.show()

ヒストグラム

次はストグラムを作成します。
histplotというメソッドで作成します。
引数xに曜日のカラムを示したdayを渡します。

曜日ごとのデータ数がcountとして表示されます。

plt.figure(figsize=(9,6))

sns.set(style='darkgrid')
sns.histplot(x='day', data=tips_data)
plt.show()

このグラフをさらに性別のカテゴリーで色分けします。
引数hueに、性別を示す sex を渡します。
multipleという引数に stack を指定して、積み上げグラフを作成します。

plt.figure(figsize=(9,6))
sns.histplot(x='day', data=tips_data, hue='sex', multiple='stack')
plt.show()

複数グラフ(pairplot)

pairplotというメソッドで、
全ての変量同士の相関グラフを表示させ、
グラフサイズを変更させてみます。
文章でみてもさっぱりわかりません(笑)

sns.set(style='darkgrid')
sns.pairplot(tips_data, hue='time', palette='Set1', diag_kind='hist')
plt.show()

グラフに出力してみると、すごいですね、、、
たった数行でこでだけの出力ができます。
引数hueに「time」を指定し、LunchとDinnerのカテゴリごとで色を分ける設定にします。

paletteには、Set1のカラーパレットを指定してみます。
diag_kindという引数にhistを指定することで、
対角線上のグラフがヒストグラムになります。
このpairplotでも、figureメソットでfigsizeの変更はできません。
heightaspectで大きさを変更できます。

プログラミン独習カテゴリの最新記事