MyEnigmaスマートフォン用の表示で見るMyEnigmaとあるエンジニアのブログです。SupportersPythonライブラリのSeabornとは?SeabornはPythonのグラフ描画ライブラリとして有名なmatplotlibをベースにしたグラフ描画ライブラリです。documentationmyenigma.hatenablog.comSeabornはオープンソースとして、Github上で開発されています。github.com今回は、このPythonのグラフ描画ライブラリSeabornの基本的な使い方について説明したいと思います。Seabornのインストール下記のようにpipでインストールできます。seaborn下記のライブラリも必要なので、まだインストールしていない場合は、インストールしましょう。pandasSeabornの特徴Seabornはmatplotlibよりも美しいライブラリを簡単に描画できるように設計されています。SeabornのHPには、Seabornの特徴として、下記の特徴を上げています。色合いがグラフのスタイルが、matplotlibと比べて非常に綺麗であることがわかります。documentationスタイルの変更方法Seabornによるグラフのスタイルの変更方法について説明します。flip)plt.show()下記のようなmatplotlibのグラフができます。このグラフをSeabornのスタイルにするには、seabornをimportするだけです。flip)plt.show()Seabornのスタイルを変更するSeabornのスタイルは5つあります。先ほどのグラフはデフォルトのdarkgridです。デフォルト以外のスタイルにするには、set_style()関数を使います。グラフを描画する前にset_style関数を呼ぶだけです。描画のデータ数が多い時におすすめのスタイルです。np.random.normal(size=100)sns.distplot(x);plt.show()darkこちらはグリッドが要らない場合におすすめのスタイルです。sns.set_style("dark")whiteこちらもグリッドが要らない場合におすすめのスタイルです。sns.set_style("white")ticksこちらは軸にのみ刻みの線を追加するスタイルです。下記のように、右と上のグラフの枠線を無くすことができます。グラフ描画機能Seabornで重要なグラフ描画機能について説明します。折れ線グラフ折れ線グラフはpointplot関数を使います。引数のx,yに縦軸と横軸のデータ、hueはカテゴリーデータ、paletteでグラフの色(カテゴリー名と色の辞書データとして与える)markersとlinestylesでマーカと線種をそれぞれリストで与えることができます。"--"]);sns.plt.show()すると、下記のようなグラフが得られます。マーカを無くしたりしたい時は、markers=[""]のように空で指定すればOKです。棒グラフ棒グラフはbarplot関数を使います。棒グラフのカテゴリーデータはhueに、そしてデータセットはdata変数に代入します。data=titanic);sns.plt.show()するとこのようなグラフが書けます一次元分布データの描画(ヒストグラムや確率密度関数)distplotという関数を使うことで一次元データのグラフを作成することができます。np.random.normal(size=100)sns.distplot(x);sns.plt.show()デフォルトでヒストグラムとカーネル密度推定による確率密度関数が表示されます。ヒストグラム表示kde=Falseとすることで、確率密度関数を非表示にして、ヒストグラムのみを表示することができます。rug=True);と設定することにより、データの分布をグラフの下部に表示することができます。加えて、bins変数を指定することで、ヒストグラムのビンの数を設定することができます。続いて、二次元分布データの描画の説明をします。各次元のヒストグラムを表示することができます。data=df);sns.plt.show()グラフ内のpeasorという値は、ピアソンの相関係数、pはP値です。Wikipediamyenigma.hatenablog.comkind="hex"とすることで、六角形プロットを表示することができます。data=df);kind="kde"とすることでカーネル密度法による確率密度関数が表示されます。data=df);データセットの相関分析seabornの素晴らしい機能の一つに、データセットの各変数同士の相関分析を簡単に実施できる関数があります。それはpairplot関数です。#サンプルデータセットsns.pairplot(iris);sns.plt.show()すると、下記のグラフのように簡単に相関分析をすることができます。下記のように変数hueにカテゴリー変数名を入れれば、カテゴリーを色分けしてくれます。簡単にヒートマップやグレースケール画像データをグラフ化することができます。documentation使い方はheadmap関数に二次元のリストを渡すだけです。vmax変数で指定します。linewidths=.5)右のカラーバーが要らない場合は、cbar引数をfalseにすればOKです。renderer")下記のコマンドでmatplotlibを最新バージョンにアップデートしましょう。-Uより深くSeabornを学びたい場合は下記のギャラリーのグラフをクリックすると、それぞれのグラフのコードを見ることができるので、そのコードを元に勉強するのがいいと思います。documentationまた、Github上のコードを読むのも良いと思います。github.comまた、どうしても解決できない問題などがある場合は下記のようなQ&Aサイトで質問してみると、かなりの確率で回答がもらえると思います。何回か質問させてもらいましたが、その日の内に返信をもらうことができました。最後にやはりかっこいいグラフはいいですね。プレゼンで使いたくなりました。自動で相関分析をしてくれるのもいい感じです。Supportersもしこの記事が参考になり、ブログをサポートしたいと思われた方は、こちらからよろしくお願いします。はてなブログProとあるエンジニアのブログです。Page月別アーカイブスポンサーリンクスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。