はじめに
前回扱ったSeabornで「カテゴリごとに散布図を並べて描画」で、Seabornが簡単で便利であることが伝わったかと思います。今回も引き続き、Seabornで描画していきましょう。基本的なグラフである折れ線グラフを扱います。
サンプルデータ
サンプルデータは、Seabornにあらかじめ準備されているデータセットを使いましょう。今回使うのはfmriというデータセットです。
# ライブラリのインポート
import pandas as pd
import seaborn as sns
%matplotlib inline
# データのロード
fmri=sns.load_dataset('fmri')
fmri.head()
このデータセットはよく知りませんが、timepointというのは何らかの時間を表してそうですね。ちょっとデータを見てみましょう。
fmri.sort_values(by='timepoint')['timepoint'].unique()
timepointは0~18の値を取るようです。そこでtimepointを横軸にして、signalを縦軸にした折れ線グラフを描いてみましょう。
折れ線グラフの描画
sns.set()
sns.relplot('timepoint','signal',data=fmri,kind='line')
簡単ですね。散布図を描いたときと同様にrelplotを使って、引数kindでlineを指定します。
カテゴリごとにプロットする
前回、散布図でおこなったようにカテゴリごとに折れ線グラフを並べてみましょう。実は、前回と同じようにcolとrowを設定するだけで簡単にできます。
sns.relplot('timepoint','signal',data=fmri,kind='line',col='event')
このように簡単にできます。散布図の時には、colと同じようにrowも設定できます、としか説明しませんでしたが、colとrowの両方を設定することもできます。すると、その組み合わせのプロットをすることができます。
sns.relplot('timepoint','signal',data=fmri,kind='line',col='event',row='region',height=3)
まとめ
いかがでしたか?Seabornは、グラフの種別が違っても同じような考えで設定ができるのでわかりやすいですね。今回ご紹介したようにカテゴリ別のプロット、特に、行と列のそれぞれにカテゴリを設定した場合の描画は、何か特徴を見出すときに活躍します。次回は、さらにカテゴリ別のプロットを見ていくことにしましょう。
コメント