「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メソッドではグラフのサイズを変更できません。
heightとaspectで指定します。
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の変更はできません。
heightとaspectで大きさを変更できます。
今回もkinocodeさんの動画で勉強させていただきました。
ありがとうございました!
コメント