Pythonを使ってデータの可視化をするライブラリとしてMatplotlibを使ってきました。そこでも少し触れましたが、seabornを使えばもっと綺麗なグラフを描画することができます。
seabornは、Pythonのデータ可視化ライブラリであるmatplotlibをベースにしたグラフ描画ライブラリです。公式ドキュメントのgalleryを見ればわかりますが、matplotlibのグラフと違ってとても綺麗で見やすいものになっていることがわかります。
このseabornを使ってmatplotlibのグラフをもっと美しい形で描画する方法を扱って行きましょう。
ここではseaborの導入と簡単は表示によるmatplotlibとの違いを見ていきましょう。
seabornのインストール
ライブラリを導入するには、これまでと同様にPythonを利用している環境の中に、seabornライブラリをインストールする必要があります。
ターミナルを起動して、condaやpipを使って次のコマンドでインストールしましょう。
# anaconda環境下
$ conda install seaborn
或いは、
$ pip install seaborn
Anacondaを利用している環境であれば、すでにseabornはインストールされているのではないかと思います。インストールされていなければ、上のコマンドでインストールするか、Anaconda Navigatorからインストールしてください。
このあたりはもう特に難しいことでは無いですね。
seabornをインポートする
他のライブラリ同様にseabornを利用するにはインポートする必要があります。
インポートには、次のように、seabornをsnsとしてインポートするのが一般的のようです。
import seaborn as sns
ただし、通常はデータを処理してグラフは描画するので、次のように他のライブラリを必要に応じて一緒にインポートして使います。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
ここでは、jupyter notebookを使っているので%matplotlib inline も合わせて記述しています。
seabornのグラフ、Matplotlibとどう違う?
seabornを使うとmatplotlibよりも綺麗なグラフが描けるということですが、ではどれくらいの違いがあるのでしょうか。
簡単なグラフを例にして、ここでちょっと確認してみましょう。
matplotlibの場合
別の投稿で利用したscatter()を使った次のコードを利用してみます。
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.rand(100)
size = np.random.rand(100)*1000
plt.scatter(x, y, s=size, c=colors, alpha=0.7)
plt.show()
x、y共にランダムのデータを発生させて、色もランダム、プロットするサイズもランダム、透明度を0.7にした分布図となっています。
表示するとこうなります。
seabornを利用した場合
全く同じデータとコードに、seabornをインポートして、メソッドを追記してみます。
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns #seabornをインポート
%matplotlib inline
x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.rand(100)
size = np.random.rand(100)*1000
plt.scatter(x, y, s=size, c=colors, alpha=0.7)
sns.set() #seabornのset()メソッドを追記
plt.show()
コードの違いはインポート文とsns.set()をを加えただけです。
これを描画してみるとこうなります。
どうでしょうか?
グラフの表示にグリッドが入ってデータとして見やすい表示になっているのがわかります。(データがランダムなのでここでは全く同じデータ表示にはなりません)
このようにmatplotlibをすでに理解しているのであれば、seabornをインポートして、seabornのコードを1行追記するだけで、簡単にグラフを綺麗なものにしてくれます。
最後に
ここでは、Pythonのデータ可視化ライブラリであるmatplotlibをベースにしたグラフ描画ライブラリのseabornについて、導入部分を見て来ました。
seabornを使うとmatplotlibで描画したグラフを簡単に綺麗なものにしてしてくれて、データの読み取りやすさが理解できたと思います。
どんなグラフの描画ができるかは、公式ドキュメントなどを見てみましょう。
以後の投稿では、このseabornの使い方を具体的に見ていこうと思います。