散布図 Seaborn 入門講座 10_01

Python
この記事は約5分で読めます。

Pythonのライブラリ「Seabron」の使い方

この一連のレッスンの名前がMatplotlib & Seabornですが、
Seabornはいつになったら出てくるんだろう?
と思っていましたが、やっと10回目に満を持して登場です。

まずはインポートです。

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

matplotlibの場合はデータを読み込みましたが、
このSeabornにはものもとサンプルデータが内包されているそうです。
今回の講義ではirisというアヤメのサンプルデータを使用します。

sns.get_dataset_names()
iris_data = sns.load_dataset('iris')
iris_data


カラム名がそれぞれ英語表記になっていますが、それぞれ
sepal_length:がく片の長さ(cm)
sepal_width:がく片の幅(cm)
petal_length:花びらの長さ(cm)
petal_width:花びらの幅(cm)
species:種の種類(Setosa,Versicolour,Virginica)
という意味らしいです。

散布図

散布図から作成します。
relplotというメソッドの引数に、プロットさせたいデータを指定します。
x軸:sepal length(アヤメのがく片の長さ)
y軸:petal length(花びらの長さ)
dataという引数にiris dataを記述します。

sns.relplot(x='sepal_length', y='petal_length', data=iris_data)
plt.show()

背景の色とグリッドも追加してみましょう。
setメソッドの引数styleにdarkgridを指定すると、
色とグリッドのついた背景になります。
sns.set(style='darkgrid')

カテゴリー別に色をつけれます。
speciesというカラムから、種の種類ごとに色分けします。
hueという引数に、カテゴリーに指定したいデータのカラム名を渡します。
今回は「species」でカテゴリをわけたいので、hueにspeciesを渡します。

sns.set(style='darkgrid')
sns.relplot(x='sepal_length', y='petal_length', data=iris_data, hue='species')
plt.show()

マーカーのスタイルも変更可能です。
styleという引数に、speciesを渡すとカテゴリー別に、
マーカーを分けることができます。

sns.set(style='darkgrid')
sns.relplot(x='sepal_length', y='petal_length', data=iris_data, hue="species", col="species")
plt.show()

catplotというメソッドを使うと、
カテゴリーごとで特定の変量における散布図を作成することができます。

sns.set(style='darkgrid')
sns.catplot(x='species', y='sepal_length', data=iris_data)
plt.show()

また、seabornにはcolorpaletteという引数があり、
そこにカラーを渡すことによってさまざまなカラーに変更することができます。
詳細な色のパターンについては下記URLで確認できます。
https://seaborn.pydata.org/tutorial/color_palettes.html

#カラーrocket

sns.set(style='whitegrid')
sns.catplot(x='species', y='sepal_length', data=iris_data, palette='rocket')
plt.show()

#カラーdark
sns.set(style='darkgrid')
sns.catplot(x='species', y='sepal_length', data=iris_data, palette='dark')
plt.show()

今回もkinocodeさんの動画で勉強させていただきました。
ありがとうございました!

コメント

タイトルとURLをコピーしました