#seabornのFacetGridで美しく可視化
matplotlibでも出来るこの方法ですが、seabornで可視化するとより少ないコードでできるのを知って最近はこっちを多用してます。便利なのできになる人はぜひ使ってみてはいかがでしょうか。
今回も使用するのはirisデータセット。
必要なライブラリをインポートしてから始めます。
##FacetGridを作る前にHeatmapで相関関係を調べ、最適な変数の組み合わせでFacetGridを作ることをおすすめします。
詳しくは、前回の記事で詳しく書いてありますので、興味ある方はぜひ。
前回の記事
##では早速SeabornのFacetGridを作っていきます。
g = sns.FacetGrid(iris, hue="Species", size=7)
g.map(plt.scatter, "PetalLengthCm", "PetalWidthCm")
g.add_legend()
plt.title("Relationship between length and width of Petal")
##では、中身の変数たちの詳細です。
かっこ内の最初の'iris'はirisというデータフレームを使いますよーってことです。ちなみにPetalは花弁のことです。
-
hue
hueは色合いとか色彩という意味を持ち、2つの変数を比較した上で、それぞれのラベルごとに色分けできる優れものですね。 上記のグラフ上では、PetalLengthCmとPetalWidthCmでプロットし、そのプロットした点を、Speciesごとに色分けしますってことです。これで、speciesごとの分布が分かるので、この後どのようにclassfyしていくか考えるひとつの指標になりますね。 -
size
サイズはただ単純に図のサイズです。大きくしたい時は数字を大きくし、小さくしたい時は数字を小さくします。 -
palette
パレットで表示する点の色を変更することができます。 -
col
コラム(列)で分ける時に使用します。詳しくは下記リンクのオフィシャルドキュメント参照。例えば、keyの性別ごとに分けたい場合などは、col = sex などとすることで左列にmen、右列にwomenなどと分けることができる。 -
.map(plt.scatter,x軸,y軸)
これは、scatter plotを作りますよっていう指示で、x軸とy軸をどの変数にするか指定しています。
上記ではx軸が"PetalLengthCm"でy軸が"PetalWidthCm"になっています。 -
.add.legend()
これで、グラフ外に色分けされた'Species'はそれぞれどの種に対応しているかを示す表を挿入しています。 -
plt.title('タイトル名')
この表のタイトルを最後につけています。