26
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SeabornのFacetGridでプロットして可視化

Last updated at Posted at 2017-04-24

#seabornのFacetGridで美しく可視化
matplotlibでも出来るこの方法ですが、seabornで可視化するとより少ないコードでできるのを知って最近はこっちを多用してます。便利なのできになる人はぜひ使ってみてはいかがでしょうか。

今回も使用するのはirisデータセット。

Screen Shot 2017-04-24 at 09.16.27.png

必要なライブラリをインポートしてから始めます。
##FacetGridを作る前にHeatmapで相関関係を調べ、最適な変数の組み合わせでFacetGridを作ることをおすすめします。
詳しくは、前回の記事で詳しく書いてありますので、興味ある方はぜひ。
前回の記事

##では早速SeabornのFacetGridを作っていきます。

seaborn
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")

Screen Shot 2017-04-24 at 09.49.18.png

##では、中身の変数たちの詳細です。

かっこ内の最初の'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('タイトル名')
    この表のタイトルを最後につけています。

SeabornのFacetGridのofficial pageです。

26
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?