LoginSignup
23
29

More than 5 years have passed since last update.

seaborn の heatmap で美しく可視化

Last updated at Posted at 2017-04-24

Python の Seaborn で相関関係を美しく可視化

変数の Correlation を綺麗に

まずpandasやnumpy、seabornなどの必要なライブラリをimportし、今回使うよく知られたデータセットのiris をデータフレームで読み込む。

Screen Shot 2017-04-24 at 07.00.41.png

そして、このkeyのSepalLengthCm, SepalWidthCm, PetalLengthCm, PetalWidthCmの相関関係を seaborn の heatmap で可視化。

seaborn

# correlation between それぞれの変数
cr = ['SepalLengthCm', 'SepalWidthCm', 'PetalLengthCm','PetalWidthCm']
cr_matrix = iris[cr].corr()
heatmap = sns.heatmap(cr_matrix,cbar=True,annot=True,square=True,fmt='.2f',annot_kws={'size': 15},yticklabels=cr,xticklabels=cr,cmap='Accent')


Screen Shot 2017-04-24 at 07.10.32.png

これで相関図ができる。上記の相関図を見てみると PetalLengthCmとPetalWidthCmが高い相関関係にあることがわかる。

下記はheatmap内の変数の意味である。

heatmap 内の変数まとめ

  • cbar
    cbarは相関図の右にある数値の大小を示しやすくするために挿入できる棒のこと。Trueで挿入できる。

  • annot
    このannotをTrueにすることでひとつひとつの交わるboxのなかに数値を表示させることができる。

  • square
    squareをTrueにすると、ひとつひとつの枠が正方形になって見やすくなるのでおすすめ。

  • fmt
    枠の中の文字列に与えるルール。上記では .2f とし、少数第2点までを表示させている。

  • annot_kws
    annotがTrueの時の文字列の操作。

  • yticklabels
    y軸においての値。ここでは、correlation(相関)を見るので、x,yともにiris内のキーを入れる。

  • xticklabels
    同様にx軸においての値。

  • cmap
    matplotlibでも使われるカラーコードをseabornにおいても使うことができる。カラーコード一覧については下記のリンクを参照。今回は'Accent'のカラーコードを使用。

cmapを使う際はこの中から選んで参照する

23
29
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
23
29